Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hallo!

    Top Baustein, vielen Dank! Läuft bei mir unter Valetudo RE 0.9.4. und Firmware 2020.

    Auf die Frage warum rooten? Vielleicht ist es Paranoid, aber den Grundriss des eigenen Hauses irgendwo hin zu schicken außerhalb des eigenen Netzwerkes find ich fraglich. Noch interessanter bei den Robbie mit Kamera. Und vor dem Baustein ging halt nur MQTT zur Edomi-Integration. Da musste man rooten.

    Ich habe aber auch noch eine Frage: Ist die Zonenreinigung auch ohne VSE nutzbar? Wie finde ich die Zonen-Ids raus? Über MQTT sind es ja die Zonennamen im Klartext. Das klappt aber nicht über den Baustein. Nutze das ganze ohne viel Visu der Sauger soll einfach arbeiten wenn ich nicht da bin. Und die Reinigungsintervalle für die Küche sind enger als für das ganze Haus, mehr Krümel ;-). Dafür wäre die Zonenreinigung per Logik sinnvoll.

    Und noch eine Frage: Ist die Spot-ANfahrfunktion über der Baustein verfügbar? Nach 2-3 Saugvorgängen positioniert sich der Sauger vorm Mülleimer damit der Staubtank geleert werden kann. Sonst wohnt er unter der Couch. Dafür nutze zumindest ich die Funktion...

    Danke und Gruß

    Fritze

    Kommentar



      Was machst du mit den Leuten, die bisher in deinem Haus waren ? Die kennen ja auch deinen Grunriss - Oder landen alle bei den Fischen ?

      Wenn du die Zonen-ID's kennst, dann gehts natürlich auch ohne. Aber das Problem hier ist, dass sich diese ändern können, insbesondere wenn der Roboter von Zeit zu Zeit zonen zusammenlegt und du diese wieder auseinander nimmst.

      Die Zonen-ID's sind in der Map, d.h. hier müsstest du die Map parsen um an diese ranzukommen.

      Was die Spot-Funktion angeht, so wollte ich irgendwann wenn ich wieder etwas Zeit habe die Reinigung aus der Karte implementieren, d.h. du ziehst das Rechteck in der Map und dann kann der los legen.

      Aber deine Idee gefällt mir. Ich werd mal schauen, ob ich ggf. dieses Wochenende dazu komme, um mich wieder mit dem Baustein zu beschäftigen.

      woda : Probier bitte folgendes aus:

      im class udphandler ist der Konstruktor.

      Setz bitte die timeout-Zeit probehalber auf 100 (oder 1000) und schau mal, ob sich dadruch irgendwas ändert. Im original Baustein ist es Zeile 657:

      public function __construct ($ip,$port, $timeOut = 5) {
      $this->setRemoteHost ($ip, $port);
      $this->commTimeOut = $timeOut;
      }

      Kommentar


        Das erhöhen des Timeouts bringt leider nichts, ausser einer längeren Laufzeit bis zum Fehler.
        Gruß Wolfgang
        __________________________________________________ ____
        HS

        Kommentar


          @woda:

          Du kannst den Roboter aber über den Edomi-Host ganz regulär anpingen, oder ?

          Wenn ja, dann probier bitte folgendes aus.

          Im class udpHandler die sendRcv durch diese Funktion ersetzen:

          PHP-Code:
          public function sendRcv ($data,$len) {
          $currentRetryCnt 0;

          sendRcvRetry:
          if (
          $this->send ($data$len)) {
          $rcv_data '';

          $rcv_data .= fread($this->sendSocket,32000);
          $result stream_get_meta_data ($this->sendSocket);
          if (
          $result['timed_out'] === TRUE) {
          if (
          $currentRetryCnt++ < 5) {
          goto 
          sendRcvRetry;
          } else {
          return (
          FALSE);
          }
          }
          return (
          $rcv_data);
          } else {
          return (
          FALSE);
          }

          Kommentar


            sipiyou
            ja, der Roboter lässt sich vom Edomi-Host normal anpingen und auch über Python-Miio steuern / abfragen.
            Mit der Änderung macht er jetzt jeweils 5 Versuche, welche leider alle in einen Timeout laufen.

            Ich hab gestern auch noch einen Werksreset und eine komplette Neuinstallation von Valetudo-RE durchgeführt (dauert gesamt ca. 20 Minuten).
            Leider brachte auch das nichts. Alle Tools außer der LBS können den Roboter abfragen. Der neue Token wurde natürlich im LBS eingetragen.


            UPDATE: Habs gefunden.
            Der Sauger hatte eine falsche Uhrzeit + Zeitzone

            Was ich gemacht habe um das zu beheben:

            Lokalen Zeitserver auf dem Roboter konfigurieren, da er ja die Zeit nicht mehr aus dem Internet holen kann:
            In der Datei /opt/rockrobo/watchdog/ntpserver.conf hab ich die Fritzbox als Zeitserver angegeben, also hier die IP des lokalen Zeitservers angeben.
            Code:
            #you can add your server line by line
            192.168.0.253
            Den Roboter von UTC auf CEST umstellen:
            Code:
            cp /usr/share/zoneinfo/Europe/Vienna /etc/localtime
            echo 'Europe/Vienna' > /mnt/data/rockrobo/timezone
            reboot
            Der Python-Miio und die anderen Tools verwenden wie es aussieht den Zeitstempel des Roboters für das Kommando, deshalb funktionieren diese auch bei falscher Zeit des Roboters.

            Gruß
            Wolfgang
            Gruß Wolfgang
            __________________________________________________ ____
            HS

            Kommentar


              Interessant

              Hast du Lust was auszuprobieren ?

              Wenn ja, änder bitte die Funktion

              PHP-Code:
              public function getCurrentTimestamp () {
              $time time()+10;

              $this->stamp[0] = ($time >> 24) & 0xFF;
              $this->stamp[1] = ($time >> 16) & 0xFF;
              $this->stamp[2] = ($time >> 8) & 0xFF;
              $this->stamp[3] = $time 0xFF;

              //$time = pack ("H*", sprintf("%4X",time()));

              ab zu:

              PHP-Code:
              public function getCurrentTimestamp () {

              Dann nimmt der Baustein die Zeit, die es vom Roboter bekommt. Änder danach zum testen bitte wieder die Zeitzone vom Roboter ab. Wenn es funktioniert, dann schau ich, ob die reguläre Software vom Roboter auch so stabil läuft.

              Kommentar


                Hallo sipiyou
                ich hab jetzt folgende Versuche gemacht, konnte aber den Baustein nicht zu einem Fehler bewegen:
                1. veränderter Baustein (mit der Änderung wie von dir vorgeschlagen) -> OK
                2. Zeitzone am Roboter wieder zurück auf UTC -> OK
                3. Original Baustein -> OK trotz falscher Zeitzone

                Bemerkung: Ursprünglich gab es noch zusätzlich zur falschen Zeitzone einen Offset von ca. +2 Minuten auf dem Roboter, dieser ist aktuell nicht vorhanden.

                Vorschlag: Du veröffentlichst hier eine Testversion mit deiner Änderung wie vorgeschlagen.
                Damit könnten andere, bei denen die Verbindung zu Valetudo aktuell nicht funktioniert, testen ob es damit klappt.

                Ich bleibe aber bei meinen ursprünglichen Anpassungen, da der Roboter dadurch immer mit der richtigen Urzeit arbeitet.

                Vielen Dank
                Gruß Wolfgang
                __________________________________________________ ____
                HS

                Kommentar


                  @woda: Vielen Dank fürs Testen. Hast du den Roboter nach der Umstellung der Zeitzone neu gestartet ?

                  Ich hab die Änderung jetzt reingenommen, 0.95 ist jetzt online, ich hab den Baustein seit gestern Abend auch damit laufen und es läuft stabil.

                  Fritze484
                  0.95 unterstützt jetzt auch die Targetposition. Hier wird ein Koordinatenpaar z.B. "10,15" am Eingang E19 als Argument erwartet. Dann fährt der Roboter die Position an.

                  Problem ist allerdings die richtigen Koordinaten rauszufinden, ich werd mir bei der nächsten Gelegenheit paar Gedanken im VSE dazu machen.

                  Kommentar


                    Bei mir geht der Baustein an einem Roborock S50 Firmware 2020 mit Valetudo RE (0.98) jetzt auch. Vielen Dank für die Anpassung!
                    Grüße
                    Matze

                    Kommentar


                      Horst12
                      Die neue Baustein Version sollte bei dir jetzt auch funktionieren.
                      Gruß Wolfgang
                      __________________________________________________ ____
                      HS

                      Kommentar


                        Was soll ich sagen: Perfekt!

                        Der LBS läuft einwandfrei. Ich bekomme alle Daten, keine Fehler im Log und er arbeitet unwahrscheinlich schnell.
                        Endlich kann die unschöne Webseite des Valetudo aus meiner Visu raus und eine schicke Implementierung mittels des LBS ist möglich.

                        Vielen Dank für deinen Einsatz woda !
                        Und vielen Dank für den Umbau des LBS sipiyou !

                        Kommentar

                        Lädt...
                        X