Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

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

    Sooo... ich hab es gelöst

    Nachdem alles andere nicht half, habe ich mal versucht mich bei Xiaomi einzuloggen, um mein Passwort zu prüfen. Es war korrekt. Mich hat aber auch eine "Bitte Account per Telefon verifizieren" (sinngemäß) Nachricht begrüßt. Nachdem ich das getan habe, lief auch der Baustein wieder.

    Ich bin mir ziemlich sicher, dass der Baustein davor lief, weil der Staubsauger bei uns ständig im Einsatz ist. Ob das Update irgendwie die Sicherheitsprüfung getriggert haben kann? edomi ist weiterhin in der gleichen VM gelaufen. An IP oder Mac-Adresse oder so hat sich nichts geändert

    Danke + Grüße

    Kommentar


      Hi zusammen,

      ich hab 2 S50-Robbies im Haus, mit Valetudo bestückt, jeweils mit mqtt in Edomi eingebunden und lasse mir die Maps über ein dockercontainer generieren.

      Nun würde ich gerne auch diese Lösung versimplifizieren und diesen tollen LBS einbinden. Vielen Dank an dieser Stelle für die viele Mühe, die da drin steckt!!

      Ich habe aus diesen Grund heute den LBS und den VisuBaustein downgeloaded und importiert.

      Der LBS kann den Robbi nach IP-Vergabe sofort steuern. Es scheint einen kleinen Bug beim Auswerfen der Map-URL für Valetudo-Robbies zu geben, den hab ich bei mir korrigiert, ist aber eher nebensächlich, da die auszugebende URL ja bekannt ist und auch hardgecoded in ein iKO geworfen werden kann. Nur zur Info für spätere Updates:
      ------------------------------------------------------------------------------------------------------------------------------------

      alt:

      ......} else {
      exec_debug (1, "getMapV1: fehlgeschlagen. Roboter nicht online ?");
      }
      }
      } else if (!empty($E[12]['value']) && $E[12]['value'] == 1 && !empty($E[10]['value'])) {



      neu:

      ......} else {
      exec_debug (1, "getMapV1: fehlgeschlagen. Roboter nicht online ?");
      }
      }
      else{
      $ret = "http://".$E[10]['value']."/api/map/latest";
      logic_setOutput($id, 40, $ret);
      }

      } else if (!empty($E[12]['value']) && $E[12]['value'] == 1 && !empty($E[10]['value'])) {

      ------------------------------------------------------------------------------------------------------------------------------------

      Jetzt zu meinem Problem.... Das Visuelement zeigt nichts an. Es kennt die URL, welche auch die MapKoordinaten des Robbis liefert. Ich habe mehrere Browser probiert.
      Eine vorherige Version hatte ich nicht installiert.

      Mein Verdacht:
      In der Hilfe steht etwas von externen javascript-Files, welche, wie ich es verstehe, bei Visuaktivierung erstellt werden und unter /usr/local/edomi/www/shared/js gelegt werden. In diesem Verzeichnis finde ich bei mir aber nur folgende Files, die irgendwie nicht nach Roborock klingen:
      - graphics.js
      - camview_global.js
      - camview_worker.js
      - camview.js
      - main.js

      Kann es sein, dass beim Erstellen dieser js-Files etwas nicht klappt bei mir? Müssen Rechte auf diesen Pfad geändert werden?

      Ich weiss, dass es bei anderen klappt, aber ich stehe irgendwie auf dem Schlauch gerade und mir fehlt der Ansatz, den Fehler zu suchen

      Vielleicht hat jemand eine Idee?

      Viele Grüße
      Christian

      Kommentar


        Okay, war quatsch.... es gibt keine externen js.files mehr, sind ausdokumentiert im Quelltext.

        Um ein URL-Lese-Problem auszuschliessen habe ich im VSE-Quelltext hardgecoded den Inhalt von /map/latest

        {"header_length":20,"data_length":35992,"versio n": {"major":1,"....

        in den $string in PHP_VSE_VSEID gepackt

        $string = ' {"header_length":20,"data_length":35992,"versio n": {"major":1,"....) und das Projekt neu aktiviert.


        Aber auch dann generiert er keine Karte, an einem Leseproblem kann es somit nicht liegen.

        Kommentar


          Es sieht so aus, als wenn dein valetudo die map als json o.ä. ausgibt. Der Baustein benötigt hier aber die binäre Datei.

          stonie2oo4 ich hatte mir das ja bei dir angeschaut, bei dir gibt valetudo die Info binär aus. Könntest du hier paar Tipps geben ? Dann übernehme ich das auch im Hilfetext.

          Kommentar


            Ich vermute es liegt an der verwendeten valetudo Version. Ich verwende einen Fork von hier:
            https://github.com/rand256/valetudo

            Langer89 hat mir ein ähnliches Problem per PN geschildert und er verwendet diese valetudo Version:
            https://github.com/Hypfer/Valetudo

            Ich meine mal was gelesen zu haben das hypfer die map Generierung ausgelagert hat, da es zuviel Resourcen auf dem robi verbraucht. Sicher bin ich mir dabei aber nicht zu 100%
            Würde sich auch mit dem decken was bei rand256 steht:
            Code:
            [LIST][*]You can also try to request a simple map from Valetudo RE itself via http at /api/simple_map, but it shouldn't be called too often since resources of the vacuum are limited.[/LIST]

            willchr
            welche valetudo Version hast du im Einsatz?

            Langer89
            Hast du es zufällig bei dir hin bekommen?
            Gruß Ben

            Kommentar


              ja, richtig, ich habe Valetudo 4.0 und 5.2 im Einsatz, beide geben ein json aus. Da ein Wechsel auf eine andere Valetudoversion für mich keine Option ist, heisst das, dass nur ein Umgehen dieses Umwandlungsschrittes von Base64 auf Json eine Möglichkeit wäre, den VSE für mich zum Laufen zum bringen.

              Die Mapgenerierung ist momentan auch bei mir ausgelagert in einem Dockercontainer, welcher ein png über einen webserver auswirft. Da habe ich aber nicht dieses wirklich nette feature, direkt in der Map die Zone anwählen zu können.

              Wenn der VSE direkt JSON verstehen würde, könnte man die Sache noch weiterspinnen. Ein großer Vorteil der cloudlosen Robbies ist die sehr nice MQTT-Anbindung, worüber auch die Map-Daten in Klartext ausgegeben werden. Aber da man bei Edomi das MQTT-Ergebnis aber erst in ein iKO schreiben muss, welche auf 10K Zeichen limitiert ist, müsste man sowohl das entsprechende DB-Feld von varchar(10000) auf mediumtext ändern und eine eigene Ausgangsbox schreiben, um jegliche 10K-Limits zu umgehen.

              Kommentar


                Hier müsste ein json parser geschrieben werden, das ist keine Umwandlung von base64.

                in diesem Fall tut es mir leid, aber der Aufwand kommt für mich so nicht in Frage. Du kannst den Baustein gerne forken und selbst erweitern.

                Kommentar


                  (wegen Falschaussage gelöscht)
                  Zuletzt geändert von willchr; 02.07.2020, 18:10.

                  Kommentar


                    Könnte mir bitte mal jemand von Euch, bei denen automatisch Segmente erkannt werden, beispielhaft einen String posten, der das Segment image->pixels->segments des map-Jsons enthält?

                    Ich möchte die selbst angelegten Räume, von denen mir ja die Koordinaten bekannt sind, vor Map-Erstellung als Segmente in das Json einfügen.

                    Das wäre sehr nett

                    Kommentar


                      Zitat von stonie2oo4 Beitrag anzeigen
                      Hast du es zufällig bei dir hin bekommen?
                      Nein bisher nicht. Habe es aber auch nicht weiter versucht, da die Prioritäten zur Zeit wo anders liegen. An einer Lösung bin ich aber weiter interessiert ;-)

                      Gruß
                      Henrik

                      Kommentar


                        Zitat von willchr Beitrag anzeigen
                        Könnte mir bitte mal jemand von Euch, bei denen automatisch Segmente erkannt werden, beispielhaft einen String posten, der das Segment image->pixels->segments des map-Jsons enthält?
                        Wenn du mir erklärst wie dass geht, kann ich das machen
                        Gruß Ben

                        Kommentar


                          Hallo sipiyou,

                          hab da mal eine Frage. Hast du die Möglichkeit eine Funktion einzubauen wenn er in der Raumreinigung ist und man Pause drückt und danach nicht in die Vollreinigung übergeht sondern die Raumreinigung fortsetzt?
                          Ist mir mal so gerade beim Testen aufgefallen.

                          Grüße

                          Kommentar


                            skyacer schau ich mir an, sobald ich wieder zurück bin - genieße gerade in Österreich die Berge

                            Kommentar


                              Ich hab den Baustein aktualisiert.

                              Bei 0.89 hat sich auch die Ansteuerung jetzt geändert, d.h. die Eingänge E15..E19 sowie E21 sind weg. Es wird alles nur noch per E14 gesteuert, hier sind die Befehle (siehe sonst auch die Baustein-Hilfe):

                              1 = Reinigung starten / fortsezten
                              2 = Stopp
                              3 = Pause
                              4 = Spot Reinigung
                              5 = Zur Basis
                              6 = 'finde mich' - Roboter sagt 'hier bin ich'
                              10 = Segmentreinigung fortsetzen

                              Hier bitte wieder einfach nur über den jeweilige Button Wert setzen auf xx gemäß Tabelle. Der Wert darf nicht auf "0" zurückgesetzt werden, da es ein Trigger-Eingang ist, d.h. Wert einmal setzen und fertig.

                              Mit Kommando-ID = 10 kann dann die Segmentreinigung fortgesetzt werden.

                              /edit: 0.88 hatte ich nicht mehr veöffentlicht, aber die Funktion Roboter befreien ist hiermit unterstützt (E30). Der Wert war bisher default auf 1, d.h. der Baustein versucht den Roboter einmal zu befreien. Der Default ist jetzt auf 3, d.h. beim Update des Bausteins muss hier manuell der Wert nochmal abgeändert werden.

                              Der Baustein versucht dann 3x den Roboter zu befreien, wenn folgende Fehler auftreten:
                              - Räder nicht auf dem Boden
                              - Gerät steckt fest

                              Das sind bei mir bisher jedenfalls immer die Probleme gewesen. Müsst ihr schauen, ob das bei euch was bringt, bei mir macht der wenn er einen der Fehler hat schon nach dem ersten Befreiungsversuch weiter.
                              Zuletzt geändert von sipiyou; 13.07.2020, 09:46.

                              Kommentar


                                Vielen Danke sipiyou.
                                hab den Baustein natürlich gleich aktualisiert, da du die mapurl nun auch für Benutzer von valetudo ausgibst.
                                Leider geht jetzt aber gar nichts mehr.

                                Ich kann keine Werte mehr abfragen, die Map-Url wird ohne IP angezeigt und Steuerbefehle werden auch nicht ausgeführt.

                                roborock.JPG

                                Hier noch das LOG, falls du hier etwas raus lesen kannst (Token ist verändert):
                                Code:
                                2020-07-13 12:41:49 949954 31966 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 12:41:49 951071 31966 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 12:41:49 951281 31966 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 769
                                2020-07-13 12:41:53 596913 23092 Info Exec ist bereits aktiv. Aufruf Intervall prüfen
                                2020-07-13 12:44:32 827680 735 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 12:44:32 828811 735 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 12:44:32 829071 735 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 0
                                2020-07-13 12:44:42 844038 735 Debug roborocMe:: ok
                                2020-07-13 12:44:42 844472 735 Debug miIO.Info:
                                2020-07-13 12:44:42 844794 735 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-07-13 12:44:42 845056 735 Debug Aktueller Status: 0
                                2020-07-13 12:44:42 850333 735 Debug error-code: 0
                                2020-07-13 12:44:52 867780 735 Debug sequenceID 930 V9 =0
                                2020-07-13 12:44:52 878226 735 Debug Ausführungszeit: 20.052747011185 [s]
                                2020-07-13 12:45:00 731671 1371 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 12:45:00 732557 1371 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 12:45:00 732767 1371 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 930
                                2020-07-13 12:45:10 745805 1371 Debug roborocMe:: ok
                                2020-07-13 12:45:10 746258 1371 Debug miIO.Info:
                                2020-07-13 12:45:10 746586 1371 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-07-13 12:45:10 746850 1371 Debug Aktueller Status: 0
                                2020-07-13 12:45:10 751760 1371 Debug error-code: 0
                                2020-07-13 12:45:20 772614 1371 Debug sequenceID 934 V9 =930
                                2020-07-13 12:45:20 783315 1371 Debug Ausführungszeit: 20.05385684967 [s]
                                2020-07-13 12:50:01 023292 7618 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 12:50:01 024144 7618 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 12:50:01 024354 7618 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 934
                                2020-07-13 12:50:11 035303 7618 Debug roborocMe:: ok
                                2020-07-13 12:50:11 035736 7618 Debug miIO.Info:
                                2020-07-13 12:50:11 036051 7618 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-07-13 12:50:11 036314 7618 Debug Aktueller Status: 0
                                2020-07-13 12:50:11 041289 7618 Debug error-code: 0
                                2020-07-13 12:50:21 062174 7618 Debug sequenceID 938 V9 =934
                                2020-07-13 12:50:21 072452 7618 Debug Ausführungszeit: 20.052579879761 [s]
                                2020-07-13 12:55:00 728418 13842 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 12:55:00 729276 13842 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 12:55:00 729497 13842 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 938
                                2020-07-13 12:55:10 744354 13842 Debug roborocMe:: ok
                                2020-07-13 12:55:10 744757 13842 Debug miIO.Info:
                                2020-07-13 12:55:10 745105 13842 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-07-13 12:55:10 745385 13842 Debug Aktueller Status: 0
                                2020-07-13 12:55:10 749394 13842 Debug error-code: 0
                                2020-07-13 12:55:20 768481 13842 Debug sequenceID 942 V9 =938
                                2020-07-13 12:55:20 777028 13842 Debug Ausführungszeit: 20.05452299118 [s]
                                2020-07-13 13:00:02 064615 20126 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 13:00:02 065490 20126 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 13:00:02 065707 20126 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 942
                                2020-07-13 13:00:12 079595 20126 Debug roborocMe:: ok
                                2020-07-13 13:00:12 080003 20126 Debug miIO.Info:
                                2020-07-13 13:00:12 080388 20126 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-07-13 13:00:12 080626 20126 Debug Aktueller Status: 0
                                2020-07-13 13:00:12 087117 20126 Debug error-code: 0
                                2020-07-13 13:00:22 116503 20126 Debug sequenceID 946 V9 =942
                                2020-07-13 13:00:22 125298 20126 Debug Ausführungszeit: 20.072146892548 [s]
                                2020-07-13 13:02:59 225192 23757 Info Keine Benutzerdaten eingegeben! Lokale IP erforderlich
                                2020-07-13 13:02:59 226038 23757 Debug cloud->isAccessible:N-E10=10.10.25.50-E11=473293903404493jk3492030f03rkf34f0
                                2020-07-13 13:02:59 226244 23757 Debug RoborockMe:: ip = 10.10.25.50; token = 473293903404493jk3492030f03rkf34f0; SequenceID: 946
                                2020-07-13 13:03:09 240247 23757 Debug roborocMe:: ok
                                2020-07-13 13:03:09 240679 23757 Debug miIO.Info:
                                Angehängte Dateien
                                Gruß Ben

                                Kommentar

                                Lädt...
                                X