[Modul] Roborock / Xiaomi Vacuum Cleaner

Hallo,

ich habe gestern unseren neuen Roborock S7+ mit dem Modul eingebunden. Seit dem bekomme ich die gleiche Fehlermeldung wie

@Luca

27.11.2021, 19:03:53 | FlowHandler          | Kann Daten nicht zur Instanz #43458 weiterleiten: 
Notice: Undefined variable: clean_records in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3449
RESULT:

jedoch bei jedem Aktualisierungsintervall (alle 15 Sekunden). Das Deaktivieren der Funktion „DND-Modus“ oder das Erhöhen des Abfrageintervalls auf 60 Sekunden brachte keine Besserung.

Mit dem Rovorock S50 CleanSweep hatte ich das Problem nicht. :man_shrugging:

Was könnte ich noch versuchen, bzw. könnten sich die Profis das vielleicht mal anschauen.

Vielen Dank !!!

Grüße
Proxima

Beim S7 gibt es einen speziellen gründlichen Wischmodus (Wischroute Gründlich in der App). Weiß jemand, ob ich diese Funktion über das Modul triggern kann? Danke euch

Hallo,

hat niemand eine Idee, wie ich mein Problem (zwei Beiträge weiter oben) beheben kann. Ich erhalte tausende Fehlermeldungen am Tag. Auch werden nicht alle Variablen befüllt.

Wie kann ich zur Fehlersuche beitragen?

Grüße
Proxima

Ich hatte bei der Inbetriebnahme unseres Roborock S6 das gleiche Problem. Da fehlt im Modul eine Initialisierung der Variablen.

Wenn du magst, kannst du meinen GitHub Fork auf GitHub - bumaas/IPSymconRoborock: IP-Symcon PHP module for controlling Roborock (Xiaomi vacuum cleaner) ausprobieren. Dazu das Modul (nicht die Instanz!) löschen und im Module Control neu anlegen.

Wenn Fonzo wieder fit ist, kann werde ich ihm einen PullRequest schicken.

Burkhard

Hallo Burkhard,

worin unterscheiden sich deine Version und die von Fonzo?

Viele Grüße
Stephan

Hallo Burkhard,

vielen Dank für Deine Version. Seit ich Deine Version nutze, habe ich keinen Fehler mehr.

Hast Du eine Idee, warum bei meinem Roborock S7 manche Variablen nicht beschrieben werden (siehe mein Beitrag oben)??? Gerade die Summenvariablen (Summe gereinigter Bereich und Summe Reinigungszeit) werden bestimmt vom Modul und nicht vom Roboter gebildet. Auch die Reinigungsaufzeichnungen bleiben leer.

Nochmal vielen, vielen Dank für Deine Mühe.

Grüße
Proxima

Im Wesentlichen nur durch die Initialisierung von „clean_records“.

Hast du vielleicht unter „aktivierte Funktionen“ die Funktionen nicht aktiviert?

Hallo,

unter aktivierte Funktionen ist alles eingeschaltet …

Grüße
Proxima

Werden die Werte (z.B. Summe Reinigungszeit) aktualisiert wenn du die Funktion Roborock_GetCleanSummary manuell startest?

Da müsste auch im Debug eine Antwort zu sehen sein:

Hallo,

hier die Antwort (Token geändert):
dump (1).txt (1,8 KB)

Grüße
Proxima

Die Antwort ist beim S7 etwas erweitert worden. Ich habe in meinem Fork mal die entsprechende Anpassung gemacht. „total_clean_time“, „total_clean_area“ , „total_cleans“ und die „cleaning_records“ sollten nun wieder gefüllt werden.

Hallo,

seit der letzten Anpassung habe ich diese Fehler:

08.12.2021, 22:12:28 | FlowHandler          | Kann Daten nicht zur Instanz #43458 weiterleiten: 
Notice: Undefined offset: 0 in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3478

Notice: Undefined offset: 1 in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3479

Notice: Undefined offset: 2 in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3480

Notice: Undefined offset: 3 in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3481

Notice: Undefined offset: 4 in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3482

Notice: Undefined offset: 5 in C:\ProgramData\Symcon\modules\IPSymconRoborock\Roborock Robot\module.php on line 3483
RESULT:

Grüße
Proxima

Da gibt es wohl noch mehr anzupassen. Kannst du mir einen Debug vom get_clean_record ziehen?

Bei den Tests mit @Proxima ergab sich, dass das bisherige Modul den S7 noch nicht korrekt unterstützt hat, da sich das Protokoll beim S7 an einigen Stellen geändert hat.

Unter meinem Fork habe ich die notwendigen Ergänzungen gemacht. Meine Version setzt allerdings mindestens Symcon 6.0 voraus.

Burkhard

Ich habe heute meinen S7 erhalten, und bumaas Variante installiert.
Jedoch bekomme ich folgenden Logeintrag im Aktualisierungsintervall:

Undefined variable: clean_records in /var/lib/symcon/modules/IPSymconRoborock/Roborock Robot/module.php on line 3449

Ich habe module.php nach Zeile 3418 erweitert, danach wird das Log zumindest nicht mehr zugemüllt

        $clean_records = null;

Übernehme ich gerne. Es liegt vermutlich daran, dass dein Sauger noch neu ist :grinning_face_with_smiling_eyes:

Danke Burkhard,
was mir noch auffällt, das manche Variablen nicht befüllt werden.

Und das fehlen des richtigen Roborock.Fanpower Profiles, ev. könnte man hier einfach ein zweites mit im Modul ausliefern wo der Benutzer dann umschalten kann → Roborock.Fanpower_S7

Oha, sorry ich glaube mir ist ein Fehler unterlaufen!
vorher:
https://github.com/Wolbolar/IPSymconRoborock
nachher:
https://github.com/bumaas/IPSymconRoborock

Kennt jemand eine Möglichkeit die Room-IDs auszulesen.
Damit diese dann für folgendes verwendet werden kann?

<?php
//Alexa: Staubsauger
#SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

//Globale Variablen
include("15096.ips.php");
//Room-ID
$Kueche = 14;
//Per Roborock Modul
if ( $_IPS['VALUE'] == 1 ) {
    Roborock_Start_Segment_Clean_Ex($ID_Staubsauger, json_encode([$Kueche]));
} else {
    Roborock_Charge($ID_Staubsauger);
}