[Modul] Roborock / Xiaomi Vacuum Cleaner

In dem Modul kann man den Aktualisierungsintervall festlegen. Wird das auch benutzt?
Entweder man nutzt dann die Zeit als Timerintervall oder man könnte eine zweite Zeit einführen in der jeder frei die Zeit eingeben kann.

Konnte gestern leider nicht mehr testen ob der Roboter verzögert reagiert wenn er einen Befehl bekommt.

werd ich auch mal ausprobieren ob das Besserung bringt.

@kayle und @tommy86: hier mal der Auszug aus meinem Startscript:

// Roborock IO instanz neu erstellen und verbinden
$guid = "{4743ED9C-720B-D5EA-9B0C-0585803284F3}";
$id = IPS_GetInstanceIDByName( "Roborock I/O", 0);
IPS_DeleteInstance($id);
$new_id = IPS_CreateInstance($guid);
IPS_SetName($new_id, "Roborock I/O");
sleep(2);
IPS_ConnectInstance(20836, $new_id);

muss natürlich evtl angepasst werden…

Ja das wird benutzt und ist vom Nutzer einstellbar. Das sind aber zwei verschiedene Sachen, das eine ist eine zyklische Anfrage an den Sauger der den Status zurück gibt, dies ist individuell vom Benutzer einstellbar. Das andere auf das Du Dich beziehst, ist nur das prüfen der Queue. Wenn in der Queue nichts vorhanden ist wird auch nichst zum Sauger gesendet.

Die Zeit vom Timerintervall dient dazu festzulegen wie oft der Status tatsächlich abgefragt wird. Die zweite Zeit bezieht sich auf die Queue und diese ist nicht beliebig anpassbar, da Du sonst ja nur in dem Intervall Befehle senden könntest. Ein neuer Befehl wird erst dann versendet wenn der Response vom vorherigen Befehl eingegangen ist. Wenn Du das Intervall hier hoch schraubst dann ist z.B. eine echte manuelle Steuerung des Saugers kaum mehr möglich.

Hallo Fonzo,
nach dem Update letzten Update von deinem Modul scheint das Problem mit der IO-Instanz behoben zu sein.

Dafür erhalte ich jetzt in unregelmäßigen Abständen folgende Fehlermeldungen…


Eine Idee woran das liegt?

Beste Grüße
Kai

Habe etwas experimentiert. Also die Zeit die ich hochgestellt habe hat bis jetzt keinen Einfluss auf die Steuerung. Wobei ich dazu sagen muss dass ich nur die einzelnen Befehle nutze und nicht die Livesteuerung um z.B. den roboter direkt die Fahrrichtung zu steuern.

Moin Zusammen,

wird die Variable „Aktuelle Koordinaten“ nur gefüllt, wenn der Sauger gerootet wurde?

Hallo Fonzo,

funktionieren die Befehle um die Verbrauchsmaterialien wie Schmutzfänger, Seitenbürste, Hauptbürste und Sensoren zurückzusetzen?

Roborock_Reset_Sensors(13035 /*[Hardware\Xiaomi Roborock\Roborock S50]*/);
Roborock_Reset_Filter(13035 /*[Hardware\Xiaomi Roborock\Roborock S50]*/);
Roborock_Reset_Mainbrush(13035 /*[Hardware\Xiaomi Roborock\Roborock S50]*/);	
Roborock_Reset_Sidebrush(13035 /*[Hardware\Xiaomi Roborock\Roborock S50]*/);

Leider passiert mir bei mir nichts… :confused:

Auszug aus dem Debug.

Beste Grüße
Kai

Ja davon gehe ich aus.

Habe ich ehrlich gesagt lange selber nicht benutzt. Funktioniert denn das zurücksetzten in der Xiaomi App?

Funktioniert denn das zurücksetzten in der Xiaomi App?

Ja, aus der App funktioniert es.

Beste Grüße
Kai

Hi Fonzo

habe das Update mal auf meinem zweiten Testsystem eingespielt. Leider ist das Dauerupdate immer noch am laufen.
Habe daher noch immer das Timerintervall hochgestellt. Der Sauger lässt sich trotzdem steuern. Evtl fähr er halt mal 3 Sekunden nach dem Befehl erst los.
Kann man den Request vielleicht auch nur bei bedarf einschalten? d.h. Wenn man eine Änderung an den Roboter schickt. Sonst muss der ja nicht dauernd senden oder?
Wenn die Manuelle Steuerung läuft (Links rechts geradeaus) da könnte man die Zeit ja sehr kurz halten und danach wieder erhöhen.

Tach…wiedermal…

Hab mir ebenfalls einen Roborock gekauft. Lustiges Ding. :slight_smile:
… Ich hab mich nun an eurem Modul versucht.

  • Modul via git url hinzugefügt… ok
  • Versucht Instanz Roborock hinzuzufügen. Schlägt fehl mit „Fehler: Element Image wird nicht unterstützt“
  • IPS 4.3
  • Werden irgendwelchen ports in der firewall benötigt? Nö oder?

Hab ich da etwas übersehen?

PS: Token häääätte ich auch schon g

Danke schonmal.
lg t33k

bei mir das gleiche Problem: „Element Image wird nicht unterstützt“. Der Konfigurationsdialog ist nicht zu erreichen.

Stephan

Mit IPSView lässt sich die Instanz ohne Fehler anlegen. Sollte aber eigentlich auch mit Bordmitteln klappen. Werde mich jetzt auf die Suche nach dem Token machen.

Stephan

Wäre es denn möglich eine eigene TTS ausgabe auf dem Roborock zu installieren die von IPS gefüttert wird?
So wie es zb. bei dem Echo Remote Modul möglich ist.
Damit könnte man lustige Demo zwecke anstellen.

cu.

@Fonzo: Kannst du mal auf meinen Thread schauen ob meine Abstürze von Symcon mit den PHP Threads vom Roborock Modul zu tun haben können. Habe zwei Mi Robot im Einsatz.

Das Modul belastet den Prozessor in der Form mit den Queue abrufen recht stark bei mir. Macht ca. 10-15% Prozessorlast aus, die durch das sekündlichen abfragen der Queue auftritt. (mit zwei Sauger Instanzen)

Eigentllich würde ich sagen Neartime reicht. also wenn mein Befehl nach 5-10 sec übertragen würde, wäre das auch ausreichend.Starte in der Regel eigentlich nur mit Alexa den Saugvorgang.

Ich schaue mir das mal näher an.

Danke Dir.

Was mir noch aufgefallen ist, nach Entfernen des Roborck I/O kann man Symcon nicht mehr neustarten. Steht immer warte auf beenden des Timer Pools im Log. Auch ein sudo killall geht nicht.
Nach Neustart des Raspberry ist die I/O Instanz wieder da.
Ne Möglichkeit die I/O Instanz zu deaktivieren hab ich nicht gefunden.
Vermutlich legen die Sauger Instanzen das I/O beim Start wieder an.