NEWS
Neuer Adapter für Roborock-Staubsauger
-
@chefffe das geht da gibt es ein datenpunkt den du umstellen musst, ändere es mal in der app und schaue dann im Adapter. Bin im Moment leider nicht am Rechner
-
@michael-1975 Wenn ich an der App den Modus Saugen und Wischen/Saugen toggle ändert sich der Parameter "water_box_mode" unter "Device Status"
Problem ist ich kann hier nicht schreiben, ist nur ein lesbarer Parameter. Sonst sehe ich keine Änderungen beim Umschalten. -
@chefffe Änderungen kann man nur über commands vornehmen.
-
@copystring Ja genau. Aber leider fehlt bei mir unter commands der DP water_box_mode.
-
@stefan206cc water_box_mode fehlt nicht. Den Befehl gibt es bei roborock gar nicht.
Das sind die drei Einstellungen mit denen du herumspielen kannst:
-
@copystring Danke für die Info. set_custom_mode funktioniert bei mir. Den DP set_mop_mode kann ich zwar ändern aber dies hat keine Auswirkung. Mein Problem ist das der DP set_water_box_custom_mode fehlt.
-
@stefan206cc OK. Dann bitte auf Github ein Issue erstellen und ein Debuglog anhängen.
-
Ich brauche ein paar Tester für die dev. Wer mir helfen mag, bitte https://github.com/copystring/ioBroker.roborock/tree/dev installieren und Issues auf Github eröffnen oder hier kurz schreiben, dass es X Tage ohne Problem läuft. Dann wird das der nächste Release.
Dort sind einige interessante Änderungen vorhanden:- Rework map parser and map creator
- Convert a lof of strings to template literals
- Improve go2rtc download logic
- Improve error logging
- Download roborock images from roborock server and make them available as base64 png (needs to be enabled in options, uses quite a lot of resources)
- Use some clever logic so adjacent rooms are never the same color
- The name for each room is now displayed on the map
- Fix photo popup position on map
- Seriously speed up drawing of carpet map
Das wohl interessanteste ist, dass wenn es in den Einstellungen aktiviert ist, sämtliche Icons vom Roborockserver heruntergeladen werden um die anschließend als base64 png in den Objekten zur Verfügung zu stellen.
Der Rest sind bugfixes. -
@copystring Wird sofort gesaugt und getestet!!!
-
@copystring Hallo und guten morgen, also erster Eindruck ist dass die Karte zwar bei Adapter start aktualisiert aber dann nach 5 min warten war noch kein Update zu sehen. Die Base64 Icons finde ich irgendwie auch nicht. Unter welchem Datenpunkt sollen die gespeichert sein?
Ich habe roborock.0.Devices.73IcwgDn1vor4XzsoeQz8Oa.deviceInfo.iconUrl aber der DP ist leer.
Viele Grüße
-
@flexer said in Neuer Adapter für Roborock-Staubsauger:
@copystring Hallo und guten morgen, also erster Eindruck ist dass die Karte zwar bei Adapter start aktualisiert aber dann nach 5 min warten war noch kein Update zu sehen.
War der Saugroboter denn am reinigen? Nur dann wird aktualisiert.
Die Base64 Icons finde ich irgendwie auch nicht. Unter welchem Datenpunkt sollen die gespeichert sein?
Hast du das Erstellen der Icons in den Optionen aktiviert? Das braucht ziemlich viele Ressourcen beim Start des Adapters und muss deshalb manuell aktiviert werden.
-
@copystring Also die Option finde ich nicht in den Einstellungen.
Habe den Adapter von Git gezogen und auch Upload gemacht.
Roboter reinigt gerade. Ist ein S8 Ultra
-
@flexer hast du über den Link von mir installiert? Nur über GitHub reicht nicht. Es muss die dev branch sein.
-
@copystring Aaah jetzt ja! Sorry für die Verwirrung. Karte aktualisiert. Melde mich nach dem testen
-
@copystring Also Karte macht bis jetzt was sie soll! Perfekt bis jetzt. Jedoch ist iconurl leer.
-
@flexer said in Neuer Adapter für Roborock-Staubsauger:
Jedoch ist iconurl leer.
Die iconURL war schon immer leer und wird nicht verwendet.
Aber da war ein Fehler in der dev. Dadurch wurden die Icons nicht erstellt.
Lade dir bitte dev nochmal neu. Du bekommst dann wie bei mir z. B. in diesen Pfad:C:\iobroker\node_modules\iobroker.roborock\images\products\roborock.vacuum.a27
die Icons. Da kannst du dir dann ein Heraussuchen, was dir gefällt. Dann suchst du das entsprechend in ioBroker heraus. Die Icons in ioBroker sind dann hier:roborock.0.Devices.3UGDpwnSbiyhmcbVPLDRJV.images
-
@copystring Ok mache ich.
Habe auch festgestellt dass die Räume nicht synchronisieren mit der App. Wenn ich in der App z. B. Raum 1, Raum 2 etc auswähle sind die Datenpunkte nicht auf true.
Das selbe auch anders rum wenn ich DP auf True stelle bleiben sie deselektiert.
Habe im Log auch folgendes
Failed to execute writing test.rrmap on robot 73IcwgDn1vor4XzkGQz8Oa Error: ENOENT: no such file or directory, open './test.rrmap'
-
@flexer said in Neuer Adapter für Roborock-Staubsauger:
Habe auch festgestellt dass die Räume nicht synchronisieren mit der App. Wenn ich in der App z. B. Raum 1, Raum 2 etc auswähle sind die Datenpunkte nicht auf true.
Diese Daten werden von Roborock nicht in der Cloud abgelegt und können deshalb nicht synchronisiert werden.
@flexer said in Neuer Adapter für Roborock-Staubsauger:
Habe im Log auch folgendes
Failed to execute writing test.rrmap on robot 73IcwgDn1vor4XzkGQz8Oa Error: ENOENT: no such file or directory, open './test.rrmap'Bitte die dev neu laden. Hoffentlich ist das Problem dort jetzt behoben. Ich konnte das bei mir aber nicht reproduzieren ...
-
@copystring Ah ok. Habe mir das fast gedacht. Naja ist ja auch nicht schlimm.
Bin jetzt leider unterwegs melde mich aber heut nochmal im Laufe des Tages.
Nochmal vielen Dank für deine Arbeit
-
Connection is closed. roborock.0 2023-11-24 11:53:24.828 error Error: Connection is closed. at close (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:184:25) at Socket.<anonymous> (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:151:20) at Object.onceWrapper (node:events:628:26) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at TCP.<anonymous> (node:net:322:12) roborock.0 2023-11-24 11:53:24.827 error unhandled promise rejection: Connection is closed. roborock.0 2023-11-24 11:53:24.827 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
Jetzt kommen die Fehler