[Modul] Roborock / Xiaomi Vacuum Cleaner

Hast du IPS 5?

Wenn ich bei mir neu starte, geht nichts mehr. Die IO Instanz wird als fehlerhaft angezeigt. Kann dann auch die config page nicht mehr öffnen.

Gruß Kay

Es läuft auf der aktuellsten Stable Version.

Version 5.0 vom 16.12.2018

Habe gerade nochmal alles installiert. Läuft im ersten Moment auch. In den PHP Informationen bekomme ich folgendes angezeigt:

Wenn ich jetzt den Symcon Dienst starte und wieder stoppe (oder den Pi reboote), bekomme ich folgendes angezeigt:

Wenn ich die Instanz öffnen will, kommt das:

Da frag ich mich, warum es bei Dir funktioniert und bei mir nicht. Läuft dein Symcon auch auf einem raspberry?

Gruß Kay

Bei mir läuft es auf einem Windows 10 Rechner

OK. Dann ist es scheinbar klar dass es an dem IPS auf dem Raspberry liegt. Da läuft meins auch und ich bekomme genauso den Fehler in der Instanz.

Die Scripte laufen aber unter beiden Systemen und bomben dem Symcon voll.

  • Windows 10 und
  • Raspberry

Habe jetzt auf einer Systemkopie die Instanz gelöscht
Anschließend waren die Skripte weg
sobald ich wieder eine Instanz hinzufüge starten die Skripte wieder obwohl weder IP noch Token eingetragen wurde.

Dann sind wir schon mal einen Schritt weiter :smiley:

Wie lösen wir das Problem? Kann man hier Personen verlinken? Dann könnte man Paresy oder Fonzo mal fragen.

Gruß Kay

Beide sind eigentlich aufmerksame Mitleser…per PN vielleicht nachfragen

Ich schaue mir das morgen mal näher an ob ich das irgendwie bei mir reproduzieren kann und den Fehler finde.

Wenn ich die bestehende Instanz aktualisiert abspeichern möchte, kommt der Hinweis dass unter der IP kein Roboroc gefunden wurde, falls dir das irgendwie weiterhilft. IP und Token sind aber 100pro richtig und hat bis kurz nach Weihnachten ja auch funktioniert.

Wenn alles bis kurz vor Weihnachten funktioniert hat, was hat sich denn dann geändert? Irgendeine neue Firmware auf dem Sauger oder irgendwas in IP-Symcon aktualisiert seit es Probleme gibt?

Kurz nach Weihnachten…glaube am 27.12. hab ich es installiert. Da der Robo nicht lief hab ich den Fehler erst 3 Tage später bemerkt. Geändert habe ich währenddessen nichts

Bei meinem Gen1 ist die Firmware 3254 aktuell drauf. Habe es erst kurz vor Weihnachten getestet. Hat nicht funktioniert. Problem ist wie schon mehrfach geschrieben, das die Instanz nach einem Reboot des Pi als fehlerhaft angezeigt wird.

Gruß Kay

den gleichen Fehler habe ich auch schon von Anfang an…also ca September 2018…
behelfe mir aktuell damit beim starten automatisiert die i/o instanz neu anzulegen…

Könntest Du bitte einem Anfänger wie mir erklären wie Du das machst?

Danke im Voraus
Gruß Kay

Ist dann damit auch die 10x / Sekunde IO Triggerung auch behoben?
Ich möchte mir noch einen zweiten Robo anschaffen, denke dann wird der Rechner wohl abstürzen weil die ganze Kommunikation damit doppelt volläuft

Ich habe mich jetzt etwas in das Modul eingelesen.

Der Fehler kommt wahrscheinlich von folgender Zeile:

in der module.php Zeile 64


....
        // initiate buffer
        $this->SetBuffer('message_id', '0');
        $this->SetBuffer('queue', '[]');

        // register timer
        $this->RegisterTimer('RoborockQueue', 200, 'RoborockIO_HandleQueue(' . $this->InstanceID . ');');

        // register Webhook
        $this->RegisterWebhook('/hook/Roborock');
...

Dort ist ein Register Timer mit 200.
Das bedeutet, dass dieser alle 200ms ausgeführt wird (also 5x in einer Sekunde).
Ob das Sinn macht kann ich noch nicht ausprobieren. Habe ich jetzt offline ausprobiert und simuliert.
Werde es dann mal an dem Live System ändern und den Timer auf 10 Sekunden setzen (10000).
Ob der Roboter dann noch sauber bedienbar ist wird sich dann zeigen. Auf jeden Fall sind die vielen Aufrufe dann erstmal weg.

@Fonzo
Ist das so gewollt? Will dich jetzt nicht blöd hinstellen.
Evtl hat das einen anderen Hintergrund den ich aktuell noch nicht verstehe.

Falls es ein Tippfehler sein sollte kannst du das im nächsten Update mit bereinigen?

Danke schonmal

Die Queue wird halt regelmäßig geprüft, in sofern ist das durchaus gewollt. Dennoch könnte das die Fehlerursache sein, danke für das suchen, denn der Timer wird gesetzt ohne zu Prüfen ob IP-Symcon schon hochgefahren ist. Das kann wohl zu Problemen führen, weshalb wohl der Fehler auch dann auftritt wenn IP-Symcon neu gestartet wurde. Ich werde daher mal schauen das zunächst geprüft wird ob IP-Symcon komplett läuft und dann erst den Timer setzten, ob das eine Besserung bringt. Ich gebe Bescheid wenn ich das angepasst habe, wenn Du ansonsten Ideen hast das anzupassen, dann bin ich immer offen oder mach einfach einen Pullrequest, wenn es mit Änderungen dann besser laufen sollte.

Ich habe mal ein Update gemacht bei dem zumindest gewartet wird bis IP-Symcon hochgefahren wird, mal sehen ob das bei denen, die Probleme haben, eine Besserung bringt.