Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

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

    stonie2oo4
    Die Steuer-Kommandos musst du über eine Zwischenvariable (z.B. DPT-5 / Variant) lösen.
    Bei dir ist der Eingang (E14) ist bei dir nicht weiter beschaltet; die anderen Eingänge sind ab 0.89 weg.

    Die URL zu valetudo wird nach der ersten Reinigung ausgegeben, setz mal E14 zum testen in der Admin auf 1, dann muss der los legen. Danach gibst du ihm die 5, dann sollte die MAP-URL ausgegeben werden.

    Falls es nicht klappt, schick mir deine TV Zugangsdaten, dann schau ich mir das gleich an.

    /Edit: Hm, warum der die IP vor der URL bei dir nicht ausgibt ist allerdings merkwürdig. Welches PHP hast du bei dir laufen ?
    Zuletzt geändert von sipiyou; 13.07.2020, 13:03.

    Kommentar


      Hab den Fehler mit der URL gefunden. Hatte die PHP-parse_url Funktion benutzt. Die Funktion scheint allerdings die Ausgabe nicht zu filtern, wenn nur die IP eingegeben ist. Da hab ich zuviel absichern wollen.

      Schau mal bitte, ob mit 0.90 die MAP wieder richtig ausgegeben wird.

      Kommentar


        Zitat von sipiyou Beitrag anzeigen
        Die Steuer-Kommandos musst du über eine Zwischenvariable (z.B. DPT-5 / Variant) lösen.
        Bei dir ist der Eingang (E14) ist bei dir nicht weiter beschaltet; die anderen Eingänge sind ab 0.89 weg.
        Schon klar, hab ich gesehen, aber wenn ich im Live-Modus ne 6 eingebe sollte er sich melden. Bzw. ne 1 zum Reinigung starten. Aber leider funktioniert beides nicht.
        Ebenso wird der Status nicht auf die Ausgänge geschrieben.

        Zitat von sipiyou Beitrag anzeigen
        Schau mal bitte, ob mit 0.90 die MAP wieder richtig ausgegeben wird.
        Map-Url wird jetzt richtig ausgegeben und Visu zeigt es wieder korrekt an.

        Gruß Ben

        Kommentar


          Hallo,

          vielen Dank für den Baustein und die Zuarbeit aller Tester.

          Nach langem Studieren und Kauf des S5 Max hat alles auf Anhieb geklappt. (nutze keine Zonen, sondern nur alles als eine große Map)

          Bin total begeistert!

          Gruß Jörg
          Zuletzt geändert von Dundi; 14.07.2020, 20:36.
          Gruß Jörg.


          "Wir sind nicht die ersten, die dieses Feature einbauen, aber wir werden es am besten umsetzen."
          (Steve Jobs)

          Kommentar


            stonie2oo4

            Welche Valetudo-Version hast du bei dir im Einsatz?

            Ich habe zwei S50, einmal mit dem "normalen" in der Version 0.4.0 und einmal mit Valetudo RE in 0.9.6, aber bekomme nur leere Antworten von den beiden Robotern.
            So wie ich das Log interpretiere, klappt die Verbindung, und auch tcpdump zeigt an, dass eine Kommunikation stattfindet.

            So schaut bei mir so ein Logeintrag aus:

            2020-06-16 17:45:00 336461 9851 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
            2020-06-16 17:45:00 336800 9851 Debug cloud->isAccessible:N-E10=172.16.12.100-E11=504a5442706e3isnichtecht25a
            2020-06-16 17:45:00 336877 9851 Debug RoborockMe:: ip = 172.16.12.100; token = 504a5442706e3isnichtecht25a; SequenceID: 45
            2020-06-16 17:45:10 351756 9851 Debug roborocMe:: ok
            2020-06-16 17:45:10 351908 9851 Debug miIO.Info:
            2020-06-16 17:45:10 352014 9851 Debug Info_Status:array(17) {[LF] ["msg_ver"]=>[LF] int(0)[LF] ["msg_seq"]=>[LF] int(0)[LF] ["state"]=>[LF] int(0)[LF] ["battery"]=>[LF] int(0)[LF] ["clean_time"]=>[LF] int(0)[LF] ["clean_area"]=>[LF] int(0)[LF] ["error_code"]=>[LF] int(0)[LF] ["map_present"]=>[LF] int(0)[LF] ["in_cleaning"]=>[LF] int(0)[LF] ["in_returning"]=>[LF] int(0)[LF] ["in_fresh_state"]=>[LF] int(0)[LF] ["lab_status"]=>[LF] int(0)[LF] ["water_box_status"]=>[LF] int(0)[LF] ["fan_power"]=>[LF] int(0)[LF] ["dnd_enabled"]=>[LF] int(0)[LF] ["map_status"]=>[LF] int(0)[LF] ["lock_status"]=>[LF] int(0)[LF]}[LF]
            2020-06-16 17:45:10 352096 9851 Debug Aktueller Status: 0
            2020-06-16 17:45:10 353642 9851 Debug error-code: 0
            2020-06-16 17:45:20 364984 9851 Debug sequenceID 49 V9 =45
            2020-06-16 17:45:20 365127 9851 Debug keine Map vorhanden
            2020-06-16 17:45:20 367885 9851 Debug Ausführungszeit: 20.032344818115 [s]


            Eventuell hat ja jemand eine Idee, oder kann mich in die richtige Richtung schubsen.

            Edit: Formatierung vom log
            Zuletzt geändert von dof03; 22.07.2020, 14:48.

            Kommentar


              Ich hab valetudo RE 0.9.5.2.
              Bei mir lief es Anfangs auch nicht, dann hat sich dass sipiyou angeschaut und kein größeres Problem festgestellt.
              Später hat es dann aus unerklärlichen Gründen auf einmal funktioniert, nur die Map-URL wird nicht ausgeben.
              Und hier ist dass komische dass dies vorher funktioniert hat.

              Tut mir leid, dass ich dir hiermit nicht wirklich weiterhelfen kann.
              Gruß Ben

              Kommentar


                Oh, das klingt gut... danke für die Info!

                Na dann spiel ich mich noch ein bisschen, vielleicht wirds ja auch was ohne gleich den Entwickler zu quälen =D

                Kommentar


                  Mir stellt sich langsam die Frage, weshalb man das Ding rooten muss.
                  Die original Software ist sehr gut und vorallem stabil.

                  Kommentar


                    Naja, MUSS... es kann helfen, wenn man aus der IT kommt und verspielt ist.

                    Es mag schon sein, dass die Originalsoftware gut und stabil ist, aber das ist bei Valetudo auch so (zumindest hatte ich noch nie ein Problem, und ich hab sie doch jetzt schon eine Weile), und ich finde es um einiges mächtiger.

                    In der Originalfirmware ist ja auch ein ominöser tcpdump-sniffer-command aufgefallen, was jetzt auch nicht so viel Vertrauen schafft.

                    Klar kann man das alles umschiffen, aber es ist nicht wirklich viel Aufwand die Dinger zu rooten, und schafft einfach mehr Kontrolle über das eigene Gerät. Wenn die Alternative dann auch noch mehr kann... was spricht dagegen?

                    Aber eigentlich ist es es einfach lustig, was man alles für (größtenteils sinnlose) Dinge man mit eine Staubsaugerroboter mit Ubuntu drauf machen kann.

                    Es schmerzt dann aber doch, weil dein LBS einfach sehr verlockend aussieht... auf jeden Fall mal danke fürs Erschaffen und teilen!

                    Momentan läuft alles über MQTT, aber direkt aus Edomi wäre einfach schöner.

                    Kommentar


                      sipiyou Vielen Dank für den Baustein, läuft ziemlich stabil mit dem Roborock S5.

                      Ich überlege gerade einen zweiten Roboter für das OG anzuschaffen. Hat mal jemand den Mi Robot mit dem LBS ausprobiert?
                      Der ist deutlich günstiger als der S5 und würde dafür völlig ausreichen.

                      Kommentar


                        Zeit für ein kleines Feature-Update.

                        Hierfür muss das Visuelement und auch der Logikbaustein aktualisiert werden.

                        Man kann jetzt im Visuelement die Aktualisierungsintervalle einstellen, wenn der Roboter aktiv ist.

                        Dieser Trigger dient dazu, den Status zu aktualisieren, wenn man auch tatsächlich auf die Karte schaut. Ansonsten bleibt die Aktualisierung wie gehabt.
                        Ich hoffe, dass das für die "LiveDaten-Junkies" unter uns ein Kompromiss ist

                        Das Visuelement veröffentliche ich jetzt über die Download-Seite, d.h. bitte bevor ihr den LBS installiert, aufjedenfall das Visuelement vorher updaten.

                        s01iD : Es freut mich. Ich behaupte mal, wenn da die original SW drauf ist, dass es laufen wird. Ansonsten schau ich mir das gerne an - wenn du da die Serien-SW drauf lässt
                        Zuletzt geändert von sipiyou; 01.08.2020, 15:12.

                        Kommentar


                          Hallo sipiyou ,
                          da ich meinen S5 jetzt mit Valetudo-RE ausgestattet habe und keine Map mehr ausgegeben wurde, hab ich eine Kleinigkeit am Baustein verändert.
                          Da hier
                          PHP-Code:
                          if ( $roboroc->Info_Status->isMapPresent()) 
                          ein true herein kommt, aber Valetudo eingesetzt wird und dadurch hier
                          PHP-Code:
                          if ($cloud->isAccessible
                          ein false raus kommt, wird der Valetudo Teil nie durchlaufen und daher keine Map URL ausgegeben.

                          Mit den Anpassungen funktioniert es auch mit Valetudo-RE (zumindest bei mir)

                          Anpassung:

                          Original:
                          PHP-Code:
                          if ($refreshCleaningMap) {
                          // Map is no longer valid. Refresh
                          if ( $roboroc->Info_Status->isMapPresent()) {
                          if (
                          $cloud->isAccessible) {
                          $url $roboroc->getMapV1();

                          if (
                          $url != "retry") {
                          exec_debug (2"map-url: $url");
                          if (
                          $cloud->getMap ($url)) {
                          exec_debug (2"mapv1 url= $url");

                          list (
                          $ret,$exp) = $cloud->cloudMap->getURLToMap ();
                          if (
                          $ret) {
                          logic_setVar($id12$exp); // save map expire time

                          if ($currentRoboCleaningState != 0) {
                          $ret .= "!!:"."isCleaning";
                          }

                          exec_debug (2"cloud-url to map= $ret");
                          logic_setOutput($id40$ret);
                          } else {
                          exec_debug (1"url ist nicht gültig!");
                          }
                          }
                          } else {
                          exec_debug (1"getMapV1: fehlgeschlagen. Roboter nicht online ?");
                          }
                          }
                          } else if (!empty(
                          $E[12]['value']) && $E[12]['value'] == /*&& !empty($E[10]['value'])*/) {
                          //$url = parse_url ($E[10]['value']);
                          //$ret = "http://".$url['host']."/api/map/latest";
                          $ret "http://".$ip."/api/map/latest";
                          logic_setOutput($id40$ret);
                          } else {
                          exec_debug (2"keine Map vorhanden");
                          }

                          Angepasst:
                          PHP-Code:
                          if ($refreshCleaningMap) {
                          // Map is no longer valid. Refresh
                          if ( $roboroc->Info_Status->isMapPresent()) {
                          if (
                          $cloud->isAccessible) {
                          $url $roboroc->getMapV1();

                          if (
                          $url != "retry") {
                          exec_debug (2"map-url: $url");
                          if (
                          $cloud->getMap ($url)) {
                          exec_debug (2"mapv1 url= $url");

                          list (
                          $ret,$exp) = $cloud->cloudMap->getURLToMap ();
                          if (
                          $ret) {
                          logic_setVar($id12$exp); // save map expire time

                          if ($currentRoboCleaningState != 0) {
                          $ret .= "!!:"."isCleaning";
                          }

                          exec_debug (2"cloud-url to map= $ret");
                          logic_setOutput($id40$ret);
                          } else {
                          exec_debug (1"url ist nicht gültig!");
                          }
                          }
                          } else {
                          exec_debug (1"getMapV1: fehlgeschlagen. Roboter nicht online ?");
                          }
                          } else if (!empty(
                          $E[12]['value']) && $E[12]['value'] == /*&& !empty($E[10]['value'])*/) {
                          //$url = parse_url ($E[10]['value']);
                          //$ret = "http://".$url['host']."/api/map/latest";
                          $ret "http://".$ip."/api/map/latest";
                          if (
                          $currentRoboCleaningState != 0) {
                          $ret .= "!!:"."isCleaning";
                          }
                          logic_setOutput($id40$ret);}
                          } else {
                          exec_debug (2"keine Map vorhanden");
                          }


                          Gruß
                          Wolfgang
                          Zuletzt geändert von woda; 22.08.2020, 18:26. Grund: Fehler behoben
                          Gruß Wolfgang
                          __________________________________________________ ____
                          HS

                          Kommentar


                            Hallo Wolfgang,

                            vielen Dank für den Fix! Ich hab den Code etwas zusammengefasst, 0.93 ist eben hochgeladen.

                            btw, falls es jemanden interessiert:

                            Ich hab den S6 maxV für das Erdgeschoss seit Freitag im Betrieb und bin ehrlich gesagt etwas enttäuscht.

                            - Die Ladestation hat kein Kabelmanagement mehr
                            - Der Roboter benötigt wesentlich länger wie der S6 "white" zum laden des Akkus. Lt. Recherche im Netz ist nur der S6 mit 3 Stunden angegeben,
                            alle anderen benötigen 6 Stunden.
                            - Die Schutzunterlage für den Boden ist jetzt so ein labbrige Plastikfolie zum aufkleben auf dem Boden.

                            Diese Probleme gibt es aber auch offensichtlich beim S5 Max, S6 pure.

                            Also, wer nicht soviel Wert auf wischen legt, ist mit dem S6 (wichtig: Nicht pure!) besser beraten.

                            Kommentar


                              Hallo an alle,

                              ich setze den LBS von sipiyou auch seit einigen Tagen ein.
                              Leider bekommt der LBS keine Infos vom Roboroc zurück.

                              Meine Konfig:
                              Roboroc S55 - Valetudo-RE (0.9.8)
                              CentOS 7 - Edomi 2.02

                              Die Logic sieht wie folgt aus:

                              Unbenannt.jpg

                              Im Log steht immer folgendes:

                              Unbenannt.jpg

                              Jeder andere Connect zum Roboroc funktioniert (WIN-Mirobo,...) auch der Status ist auslesbar.
                              Merkwürdig ist auch, dass ganz selten der iIO.Info Status gelesen werden kann:

                              Unbenannt.JPG

                              Der getStatus Teil wurde aber noch nie erfolgreich übermittelt.

                              Was kann ich tun? Woran lag es bei euch, dass es funktioniert hat?

                              Viele Grüße
                              Angehängte Dateien

                              Kommentar


                                Hallo Horst12 , ich hab hier auch Valetudo-RE 0.9.8 und Edomi 2.02 auf CentOS7 im Einsatz.
                                Ich habe die Firmware 2008 im Einsatz, du die 2020, das dürfte aber keinen Unterschied machen.

                                Zuerst bin ich über einen falschen Token gestolpert, welchen Valetudo ausgegeben hat.
                                Nach einem Reboot des Saugers hat der Token gestimmt. Damit ging dann auch der Baustein.

                                Testen kannst du den Token auch mit dem RRC (https://github.com/LazyT/rrcc/releases)
                                Gruß
                                Wolfgang

                                Gruß Wolfgang
                                __________________________________________________ ____
                                HS

                                Kommentar

                                Lädt...
                                X