Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

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

  • Dundi
    antwortet
    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.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    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.

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    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.

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    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.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    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

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • skyacer
    antwortet
    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

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    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

    Einen Kommentar schreiben:


  • Langer89
    antwortet
    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

    Einen Kommentar schreiben:


  • willchr
    antwortet
    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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    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.

    Einen Kommentar schreiben:


  • willchr
    antwortet
    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.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    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?

    Einen Kommentar schreiben:

Lädt...
X