NEWS
Test DreameHome: 3D-Visualisierung und Alexa-Steuerung
-
Aktuelle Test Version 2.0.0 Veröffentlichungsdatum 08.04.2026 Github Link https://github.com/spayrosam/ioBroker.dreamehome Um die Karte anzuzeigen, erstelle ein HTML-Widget in der Größe 1024x1024 oder nach Bedarf und packe den folgenden Code hinein:
{dreamehome.0.XXXXXX.vis.vishtml1}Dabei ist XXXXXX die Nummer deines Roboters.
📋 Inhaltsverzeichnis
- [Features]
- [Unterstützte Modelle]
- [Installation]
- [Konfiguration]
- [Sprachsteuerung]
- [VIS-Widgets]
- [Lernsystem]
- [Wasserverbrauchs-Tracking]
- [Fehlerbehebung]
✨ Features
🔌 Cloud-Integration
- Vollständige Anbindung an die Dreame-Cloud
- Automatisches Token-Management mit Refresh
- MQTT-Echtzeitkommunikation mit dem Roboter
🗺️ Interaktive Karten (VIS)
- 3D-Kartenansicht mit Rotation, Zoom und Perspektive
- Klickbare Räume und Teppiche zur Auswahl
- Live-Roboter-Position mit Animation
- Reinigungspfad mit farbiger Raumzuordnung
- Anzeige von Wänden, Türen und Möbeln
- Reinigungs-Historie als Overlay mit Pfad-Vorschau
- Komponenten-Status (Bürsten, Filter, etc.) mit Fortschrittsbalken
🎤 Sprachsteuerung
- Alexa-Integration: Natürliche Sprachbefehle
- Telegram-Support: Steuerung per Chat
- Mehrsprachig (Deutsch/Englisch)
🧠 Lernendes System
- Analysiert Reinigungsmuster pro Raum
- Lernt bevorzugte Einstellungen (Saugstufe, Wassermenge)
- Kann fehlende Sprachbefehle automatisch ergänzen
- Gibt Empfehlungen mit Konfidenz-Werten
💧 Wasserverbrauchs-Tracking
- Für Modelle mit Wassertank und Waschstation
- Berechnet Verbrauch pro m² (ml/m²)
- Lernt aus historischen Daten (KI-gestützt)
- Separate Verfolgung von Reinigungsmittel (Detergent)
- Warnungen bei niedrigem Füllstand
🧹 Umfassende Steuerung
- Start/Pause/Stop/Charging
- Raumweise Reinigung mit individuellen Einstellungen
- Teppichreinigung mit Intensitätsstufen
- Esstisch-Zonen (automatische Erkennung)
- Auto-Empty und Mop-Washing
- Komponenten-Reset (Bürsten, Filter, Sensoren)
📊 Status & Monitoring
- Alle Roboter-Status (Saugstufe, Wassermenge, Fehler)
- Verschleißteile mit Restlebensdauer
- Reinigungsverlauf mit Statistiken
- Ressourcen-Monitoring (Speicher, Event-Loop)
🤖 Unterstützte Modelle
Der Adapter unterstützt nahezu alle Dreame-Staubsaugerroboter mit Cloud-Anbindung:
Serie Modelle Besonderheiten Matrix / X-Serie Matrix 10 Ultra/Pro, X30 Ultra, X40 Ultra 5.0L Tank, Mop-Typen A/B/C L-Serie L20 Ultra, L30 Ultra, L10s Ultra/Pro 4.5L / 4.0L Tank Z-Serie Z10, Z20, Z30 Pro 5.0L Tank W-Serie W10, W20, W30 4.0L Tank F-Serie F9, F10 3.0L Tank D-Serie D9, D10, D20 2.0L - 2.5L Tank Bei nicht gelisteten Modellen wird automatisch die Tankkapazität erkannt oder ein Standardwert verwendet.
📦 Installation
Voraussetzungen
- Node.js 18 oder höher (mit
--expose-gcempfohlen) - ioBroker js-controller 5.0 oder höher
- Canvas-Bibliothek für die Kartendarstellung
Installation über GitHub (Adapter ist nicht im offiziellen npm-Repository verfügbar)
Methode 1: Über die ioBroker-Admin-Oberfläche
- Öffne die ioBroker-Admin-Oberfläche
- Gehe zu "Adapter" → "Eigene Adapter"
- Füge folgende GitHub-URL hinzu: https://github.com/spayrosam/ioBroker.dreamehome
- Klicke auf "Installieren"
Wichtig: Canvas-Bibliothek
Die Canvas-Bibliothek wird für die Kartendarstellung benötigt. Überprüfe die Installation mit:
cd /opt/iobroker npm list canvasFalls nicht installiert:
cd /opt/iobroker npm install canvas
⚙️ Konfiguration
Grundeinstellungen
Feld Beschreibung Benutzername Dein Dreame-Account (E-Mail) Passwort Dein Dreame-Passwort Geräteindex Bei mehreren Robotern: 0 = erstes Gerät Auto-Fallback Automatisch auf erstes Gerät wechseln Erweiterte Einstellungen
Feld Beschreibung Standard Aktualisierungsintervall Wie oft Daten abgerufen werden 60 Sekunden Speicher-Limit Maximaler Heap-Speicher 150 MB Event-Loop-Limit Max. Event-Loop-Verzögerung 50 ms GC aktivieren Garbage Collection true Memory Cleaner Automatische Speicherbereinigung true Cleaner-Schwelle Ab wann bereinigt wird 300 MB Cleaner-Intervall Wie oft geprüft wird 30 Sekunden
🎤 Sprachsteuerung
Alexa-Integration
Der Adapter erkennt automatisch, ob der Alexa-Adapter installiert ist. Du kannst natürliche Sprachbefehle mit Alexa verwenden.
Wichtig: Befehle für Komponenten-Status, Reset, Auto-Empty und Mop-Washing MÜSSEN ein Robot-Keyword wie "roboter", "saugroboter" oder "dreame" enthalten. Raumreinigungsbefehle funktionieren mit oder ohne Robot-Keyword.
Robot-Keywords (müssen in bestimmten Befehlen enthalten sein)
Deutsche Keywords roboter,dreame,staubsauger,saugroboter,putzroboter,staubi,saug-bot,reinigungsroboterGrundlegende Befehle
Was du zu Alexa sagen musst "Alexa, starte den Roboter" "Alexa, starte die Reinigung" "Alexa, stoppe den Roboter" "Alexa, stoppe die Reinigung" "Alexa, pausiere den Roboter" "Alexa, pausiere" "Alexa, Roboter zur Ladestation" "Alexa, zur Ladestation" Raumreinigung
Was du zu Alexa sagen musst "Alexa, saug die Küche" "Alexa, wisch das Bad" "Alexa, saug das Wohnzimmer zweimal" "Alexa, saug die Küche leise" "Alexa, saug die Küche standard" "Alexa, saug die Küche stark" "Alexa, saug die Küche turbo" "Alexa, wisch das Bad niedrig" "Alexa, wisch das Bad mittel" "Alexa, wisch das Bad hoch" Kombinierte Raum-Befehle
Was du zu Alexa sagen musst "Alexa, saug die Küche zweimal und wisch das Bad" "Alexa, saug die Küche leise und wisch das Bad hoch" "Alexa, saug die Küche dreimal und wisch das Bad zweimal" Auto-Empty (MUSS Robot-Keyword enthalten)
Was du zu Alexa sagen musst "Alexa, Roboter leeren" "Alexa, Saugroboter entleeren" "Alexa, Dreame leeren" "Alexa, Staubsauger leeren" Mop-Washing (MUSS Robot-Keyword enthalten)
Was du zu Alexa sagen musst "Alexa, Roboter waschen" "Alexa, Saugroboter Mopp waschen" "Alexa, Dreame waschen" "Alexa, Roboter Mopp reinigen" Komponenten-Status (MUSS Robot-Keyword enthalten)
Was du zu Alexa sagen musst "Alexa, Roboter Status" "Alexa, Roboter prüfen" "Alexa, Roboter wie ist der Filter" "Alexa, Roboter prüfe Filter" "Alexa, Roboter wie ist die Hauptbürste" "Alexa, Roboter prüfe Seitenbürste" "Alexa, Roboter wie ist das Wischpad" "Alexa, Roboter prüfe Sensor" "Alexa, Roboter wie ist das Reinigungsmittel" "Alexa, Roboter prüfe Wassertank" Komponenten zurücksetzen (MUSS Robot-Keyword enthalten)
Was du zu Alexa sagen musst "Alexa, Roboter alles zurücksetzen" "Alexa, Roboter alle Komponenten zurücksetzen" "Alexa, Roboter Filter zurücksetzen" "Alexa, Roboter Hauptbürste zurücksetzen" "Alexa, Roboter Seitenbürste zurücksetzen" "Alexa, Roboter Wischpad zurücksetzen" Abbruch-Befehle
Was du zu Alexa sagen musst "Alexa, Reinigung abbrechen" "Alexa, stoppe Reinigung" Teppichreinigung
Was du zu Alexa sagen musst "Alexa, reinige den Teppich im Wohnzimmer" "Alexa, reinige den Teppich im Schlafzimmer" "Alexa, Teppich im Wohnzimmer leicht" "Alexa, Teppich im Wohnzimmer mittel" "Alexa, Teppich im Wohnzimmer stark" Esstisch-Reinigung
Was du zu Alexa sagen musst "Alexa, reinige den Esstisch" "Alexa, reinige den Esstisch im Wohnzimmer" "Alexa, saug unter dem Esstisch" "Alexa, wisch um den Esstisch" "Alexa, reinige Esstisch schnell" "Alexa, reinige Esstisch standard" "Alexa, reinige Esstisch gründlich" Hilfemenü
Was du zu Alexa sagen musst "Alexa, Hilfe für den Roboter" "Alexa, Roboter Hilfe" "Alexa, Hilfe für den Staubsauger" Das Hilfemenü führt dich dann durch:
- 1 Staubbehälter leeren
- 2 Mopp waschen
- 3 Komponentenstatus prüfen
- 4 Komponenten zurücksetzen
- 5 Raumreinigung
- 6 Teppichreinigung
- 7 Esstisch-Reinigung
- 8 Synonym-Beispiele und Sprachbefehle
Telegram-Integration
Der Adapter unterstützt auch die Steuerung über Telegram. Sende Nachrichten wie:
Befehl starte den RoboterRoboter StatusRoboter Filter zurücksetzenRoboter leerenRoboter waschen
🖼️ VIS-Widgets
Der Adapter generiert eine interaktive Karte für das VIS. Zugriff über:
dreamehome.0.[DEIN-DID].vis.vishtml0Features der Karte
🎮 Steuerungsmenü (rechts)
- Start/Pause/Stop/Charge
- Auto-Empty und Mop-Washing
- Reinigungsmodus-Auswahl (Saugen/Wischen/Beides)
- Individuelle Raumeinstellungen
🔧 Ansichtsmenü
- 3D-Rotation (X/Y/Z)
- Zoom und Perspektive
- Hintergrundfarbe
- Ein-/Ausblenden von Pfaden und Labels
📊 Status-Infos (oben links)
- Aktueller Raum mit Reinigungsfortschritt
- Batteriestand
- Komponenten-Status (Bürsten, Filter, etc.)
🖱️ Interaktion
- Klick auf Räume: Auswahl für gezielte Reinigung
- Klick auf Teppiche: Gezielte Teppichreinigung
- Klick auf Einstellungs-Icon: Individuelle Raum-Einstellungen
📜 Reinigungsverlauf-System
Der Adapter enthält ein umfassendes Reinigungsverlauf-System mit:
- Listenansicht aller vergangenen Reinigungen mit Datum, Fläche, Dauer und Status
- Detailansicht mit vollständigen Statistiken, Raumreihenfolge und individuellen Einstellungen
- Hinderniserkennung für über 30 Typen (Schuhe, Kabel, Haustiere, Möbelbeine, usw.)
- Blockierte Räume Visualisierung mit 45°-Schraffurmuster und farbcodierten Gründen
- Datumsauswahl mit Kalender zur einfachen Navigation (Heute, Gestern, 7T, 30T)
- Pfaddarstellung mit raumbasierten Farben und Segmenterkennung
- Metadaten & Statistiken inklusive Bewegungsaktionen, KI-Modell und Hinderniszähler
- Vollständige Deutsch/Englisch Sprachunterstützung
Klicke auf die Verlaufsschaltfläche (Uhrensymbol) auf der Karte, um zu beginnen.
🧠 Lernsystem
Der Adapter lernt aus deinen Reinigungen und wird mit der Zeit intelligenter.
Wie es funktioniert
- Datenerfassung: Jede Reinigung wird analysiert (Raum, Saugstufe, Wassermenge, Erfolg)
- Mustererkennung: Das System erkennt Vorlieben pro Raum
- Empfehlungen: Bei fehlenden Angaben in Sprachbefehlen werden gelernte Werte vorgeschlagen
Lernbefehle
Was du zu Alexa sagen musst "Alexa, was hast du gelernt?" "Alexa, zeige Lernstatistiken" "Alexa, Empfehlung für die Küche" "Alexa, lösche Lernhistorie" "Alexa, welche Räume gelernt?" Konfigurierbare Parameter
Parameter Beschreibung Standard MinCoverageForLearnMin. Abdeckung zum Lernen 80% MinCleaningsForConfidenceMin. Reinigungen für hohe Konfidenz 3 AutoCompleteMinConfidenceMin. Konfidenz für Auto-Vervollständigung 60% EnableTimeContextTageszeit berücksichtigen true
💧 Wasserverbrauchs-Tracking
Unterstützte Modelle
Das Tracking funktioniert automatisch für Modelle mit:
- Wassertank in der Basisstation
- Automatischer Mop-Waschfunktion
Wie es funktioniert
- Modellerkennung: Automatische Erkennung der Tankkapazität
- Verbrauchsmessung: Berechnet ml/m² während der Reinigung
- Lernende KI: Passt den Verbrauch an deine Gegebenheiten an
- Reinigungsmittel: Separates Tracking für Detergent
Verfügbare States
State Beschreibung water.CurrentAktueller Wasserstand (ml) water.PureWaterTankWasserstand in Prozent water.CurrentMlPerSqmAktueller Verbrauch (ml/m²) water.LearningStatsLernstatistiken water.RoomConsumptionVerbrauch pro Raum detergent.CurrentMlReinigungsmittel (ml) detergent.EstimatedRefillDateVoraussichtliches Nachfüll-Datum
🔍 Fehlerbehebung
Häufige Probleme
1. Verbindung zur Cloud schlägt fehl
Login error response: "invalid_grant"Lösung:
- Überprüfe Benutzername und Passwort
- Eventuell ist die Zwei-Faktor-Authentifizierung aktiviert
2. Karte wird nicht generiert
Error: Cannot find module 'canvas'Lösung: Canvas-Bibliothek manuell installieren:
cd /opt/iobroker npm install canvas3. Hoher Speicherverbrauch
Lösung:
- Aktiviere den Memory Cleaner in den Einstellungen
- Starte Node.js mit
--expose-gc - Reduziere das Aktualisierungsintervall
4. Alexa erkennt keine Befehle
Lösung:
- Stelle sicher, dass der Alexa-Adapter installiert ist
- Prüfe ob
alexa2.0.History.summaryexistiert - Bei Komponenten-Status/Reset: MUSS ein Robot-Keyword enthalten sein (z.B. "roboter", "saugroboter")
- Sage "Alexa, Hilfe für den Roboter" für Beispiele
Logging aktivieren
Setze den State
dreamehome.0.settings.showlogauftrue, um detaillierte Logs zu erhalten.
📝 Changelog
[2.0.0] - 2026-04-08
- Complete code rewrite | Komplett überarbeitete Codebasis
- New 3D map widget with interactive elements | Neues 3D-Karten-Widget mit interaktiven Elementen
- Learning system for personalized cleaning | Lernendes System für personalisierte Reinigung
- Water tracking with AI | Wasserverbrauchs-Tracking mit KI
- Support for Matrix models (mop types A/B/C) | Unterstützung für Matrix-Modelle (Mop-Typen A/B/C)
- Cleaning history system with obstacle detection, blocked rooms visualization, and date picker | Reinigungsverlauf-System mit Hinderniserkennung, blockierten Räumen und Datumsauswahl
- Improved voice control with synonym recognition | Verbesserte Sprachsteuerung mit Synonym-Erkennung
- Telegram integration | Telegram-Integration
- Resource monitoring with automatic restart | Ressourcen-Monitoring mit automatischem Restart
@wawyo
Wenn dein Adapter bei User funktiomiert - und so sieht es ja aus - lass ihn doch bitte in die Repositories aufnehmen.DANKE für deine Arbeit!
Für alle potenziellen User die sich NICHT als Tester sehen und den Adapter z.B. nur auf einem Testsystem ausprobieten wollen noch der nachfolgende Hinweis:
Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.
Dieser Hinweis betrifft natürli h NICHT das Testen einer neuen Release.
-
@wawyo
Wenn dein Adapter bei User funktiomiert - und so sieht es ja aus - lass ihn doch bitte in die Repositories aufnehmen.DANKE für deine Arbeit!
Für alle potenziellen User die sich NICHT als Tester sehen und den Adapter z.B. nur auf einem Testsystem ausprobieten wollen noch der nachfolgende Hinweis:
Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.
Dieser Hinweis betrifft natürli h NICHT das Testen einer neuen Release.
@mcm1957 danke für das Feedback und das Interesse an einer Aufnahme in die Repositories!
Ich möchte zunächst noch genügend Rückmeldungen zur Kompatibilität mit verschiedenen Roboter-Modellen sammeln, bevor ich ihn offiziell einreiche. Ziel ist, dass er wirklich stabil und vollständig funktioniert.
Ein Punkt zur Performance:
Wie bei allen Saugroboter-Adaptern verursacht die Kartenverarbeitung (Map) bei Aktivierung höheren Ressourcenverbrauch – das ist systembedingt.
Daher habe ich ein eigenes Modul integriert, das:- Ressourcenverbrauch überwacht,
- ggf. Speicher automatisch bereinigt,
- und dir zeigt, wo genau die Auslastung entsteht, um gezielt optimieren zu können.
Hinweis zu den VIS Map-Einstellungen:
Einige Funktionen dort sind derzeit bewusst noch deaktiviert. Ich werde sie erst freischalten, wenn ausreichend Rückmeldungen und Tests von euch vorliegen – damit alles zuverlässig läuft.Ich selbst nutze den Adapter bereits im Alltag – und er tut, was er soll. 😊
Danke für euer Feedback – je mehr Rückmeldungen, desto besser kann ich den Adapter weiterentwickeln! -
@mcm1957 danke für das Feedback und das Interesse an einer Aufnahme in die Repositories!
Ich möchte zunächst noch genügend Rückmeldungen zur Kompatibilität mit verschiedenen Roboter-Modellen sammeln, bevor ich ihn offiziell einreiche. Ziel ist, dass er wirklich stabil und vollständig funktioniert.
Ein Punkt zur Performance:
Wie bei allen Saugroboter-Adaptern verursacht die Kartenverarbeitung (Map) bei Aktivierung höheren Ressourcenverbrauch – das ist systembedingt.
Daher habe ich ein eigenes Modul integriert, das:- Ressourcenverbrauch überwacht,
- ggf. Speicher automatisch bereinigt,
- und dir zeigt, wo genau die Auslastung entsteht, um gezielt optimieren zu können.
Hinweis zu den VIS Map-Einstellungen:
Einige Funktionen dort sind derzeit bewusst noch deaktiviert. Ich werde sie erst freischalten, wenn ausreichend Rückmeldungen und Tests von euch vorliegen – damit alles zuverlässig läuft.Ich selbst nutze den Adapter bereits im Alltag – und er tut, was er soll. 😊
Danke für euer Feedback – je mehr Rückmeldungen, desto besser kann ich den Adapter weiterentwickeln!@all noch ein technischer Hinweis zur Wasserverbrauchsanzeige in meinem Adapter:
Da Geräte wie der Dreame L20 Ultra (4,5 L Tank) keine echten Wasserverbrauchsdaten liefern, basiert die Anzeige in meinem Adapter nicht auf festen Werten oder Schätzungen, sondern auf einem selbstlernenden System.
Ich habe eine einfache, integrierte KI entwickelt, die:
bei jeder Reinigung Daten wie Fläche, Modus und Dauer sammelt
daraus Muster erkennt
und nach ca. 5 Reinigungen beginnt, den Verbrauch anhand realer Nutzung zu berechnen
Ziel ist keine perfekte Wissenschaft, sondern eine praxisnahe Einschätzung, die sich an das reale Verhalten des Roboters anpasst – und besser wird, je öfter er läuft.
Das System ist fest im Adapter integriert, läuft vollständig lokal, benötigt keine Cloud, und verbessert sich mit jeder Nutzung automatisch.
-
@wawyo
super Idee dieser Adapter. Danke!Ich habe zwei Dream-Sauger. Einer wird aber nur erkannt.
Der LS10 Pro steht in der App als Erster und wird erkannt.
Der L40S Pro Ultra wird nicht erkannt.Kann ICH da etwas machen, dass beide Sauger erkannt werden?
Lg. Erich
-
@mcm1957 danke für das Feedback und das Interesse an einer Aufnahme in die Repositories!
Ich möchte zunächst noch genügend Rückmeldungen zur Kompatibilität mit verschiedenen Roboter-Modellen sammeln, bevor ich ihn offiziell einreiche. Ziel ist, dass er wirklich stabil und vollständig funktioniert.
Ein Punkt zur Performance:
Wie bei allen Saugroboter-Adaptern verursacht die Kartenverarbeitung (Map) bei Aktivierung höheren Ressourcenverbrauch – das ist systembedingt.
Daher habe ich ein eigenes Modul integriert, das:- Ressourcenverbrauch überwacht,
- ggf. Speicher automatisch bereinigt,
- und dir zeigt, wo genau die Auslastung entsteht, um gezielt optimieren zu können.
Hinweis zu den VIS Map-Einstellungen:
Einige Funktionen dort sind derzeit bewusst noch deaktiviert. Ich werde sie erst freischalten, wenn ausreichend Rückmeldungen und Tests von euch vorliegen – damit alles zuverlässig läuft.Ich selbst nutze den Adapter bereits im Alltag – und er tut, was er soll. 😊
Danke für euer Feedback – je mehr Rückmeldungen, desto besser kann ich den Adapter weiterentwickeln!@wawyo said in Test DreameHome: 3D-Visualisierung und Alexa-Steuerung:
@mcm1957 danke für das Feedback und das Interesse an einer Aufnahme in die Repositories!
Ich möchte zunächst noch genügend Rückmeldungen zur Kompatibilität mit verschiedenen Roboter-Modellen sammeln, bevor ich ihn offiziell einreiche. Ziel ist, dass er wirklich stabil und vollständig funktioniert.
Ich selbst nutze den Adapter bereits im Alltag – und er tut, was er soll. 😊
Ohne irgendwie drängen zu wollen - die Entscheidung wann ein Adapter in Repo soll trifft natürlich der Dev. -- nur zur Sicherheit:
Es gibt wie wahrscheinlich bekannt ist ein LATEST / BETA und ein STABLE Repository. Wenn der Adapter prinzipiell funktioniert (und das tut er wenn ich es hier so lese) dann spricht zunächst mal nichts dagegen ihn ins BETA (LATEST) Repository aufnehmen zu lassen. Dort kann er dann in Ruhe von Testern erprobt werden ohne GitHub Installationen zu benutzen von denen prinzipiell abgeraten wird. Und es ist auch kein Problem, wenn ein Adapter im Beta Repo mal Fehler aufweist - dazu gibts ja des Beta Test Repository um diese im Zuge eines breiteren Einsatzes zu finden :-)
mcm1957
P.S.: Das notwendige Review für eine Aufnahme ins Latest dauert wahrscheinlich mindestens 1 bis 2 Wochen da leider immer zu wenig Zeit vorhanden ist. Aber wie gsagt - im Kern DEINE Entscheidung und DANKE für deine Arbeit.
-
@wawyo said in Test DreameHome: 3D-Visualisierung und Alexa-Steuerung:
@mcm1957 danke für das Feedback und das Interesse an einer Aufnahme in die Repositories!
Ich möchte zunächst noch genügend Rückmeldungen zur Kompatibilität mit verschiedenen Roboter-Modellen sammeln, bevor ich ihn offiziell einreiche. Ziel ist, dass er wirklich stabil und vollständig funktioniert.
Ich selbst nutze den Adapter bereits im Alltag – und er tut, was er soll. 😊
Ohne irgendwie drängen zu wollen - die Entscheidung wann ein Adapter in Repo soll trifft natürlich der Dev. -- nur zur Sicherheit:
Es gibt wie wahrscheinlich bekannt ist ein LATEST / BETA und ein STABLE Repository. Wenn der Adapter prinzipiell funktioniert (und das tut er wenn ich es hier so lese) dann spricht zunächst mal nichts dagegen ihn ins BETA (LATEST) Repository aufnehmen zu lassen. Dort kann er dann in Ruhe von Testern erprobt werden ohne GitHub Installationen zu benutzen von denen prinzipiell abgeraten wird. Und es ist auch kein Problem, wenn ein Adapter im Beta Repo mal Fehler aufweist - dazu gibts ja des Beta Test Repository um diese im Zuge eines breiteren Einsatzes zu finden :-)
mcm1957
P.S.: Das notwendige Review für eine Aufnahme ins Latest dauert wahrscheinlich mindestens 1 bis 2 Wochen da leider immer zu wenig Zeit vorhanden ist. Aber wie gsagt - im Kern DEINE Entscheidung und DANKE für deine Arbeit.
@wawyo
Habe den Adapter auch entdeckt, und er funktioniert auch fast perfekt.
Dreame X50 Ultra Complete
Die Mops werden nicht in der Karte angezeigt (in den Datenpunkten sind sie vorhanden),
Reinigungsmittel habe ich in den Datenpunkten nicht finden können, wird daher auch als "NAN%" in der Map angezeigt.
Git Issue bereits eröffnet.
Im Gegensatz zu der Anleitung habe ich den Link in der Vis auf{dreamehome.0.XXXXXX.vis.vishtml0}(eine 0 statt 1 am Ende)
Aber ein super Plugin, vorallem die Kartendarstellung. -
@wawyo
Habe den Adapter auch entdeckt, und er funktioniert auch fast perfekt.
Dreame X50 Ultra Complete
Die Mops werden nicht in der Karte angezeigt (in den Datenpunkten sind sie vorhanden),
Reinigungsmittel habe ich in den Datenpunkten nicht finden können, wird daher auch als "NAN%" in der Map angezeigt.
Git Issue bereits eröffnet.
Im Gegensatz zu der Anleitung habe ich den Link in der Vis auf{dreamehome.0.XXXXXX.vis.vishtml0}(eine 0 statt 1 am Ende)
Aber ein super Plugin, vorallem die Kartendarstellung.Hallo @muckel
danke für das Feedback!
Derzeit ist es leider nur möglich, einen Roboter zu binden, aber ich plane, in Zukunft mehrere Roboter zu integrieren, sodass du auch beide Geräte gleichzeitig verwenden kannst.Danke für deine Geduld und dein Verständnis!
Hallo @mcm1957,
danke für den Hinweis und deine Geduld! Du hast völlig recht, dass es in der Beta-Phase keine Probleme gibt, Fehler zu finden und zu beheben.
Tatsächlich ist der Adapter in der jetzigen Form schon stabil und tut, was er soll. Ich wollte nur sicherstellen, dass er wirklich mit allen Geräten und Szenarien reibungslos funktioniert, bevor er offiziell eingereicht wird.
Ich denke, die Aufnahme ins Beta-Repository wäre ein guter Schritt, um ihn weiter zu testen und zu verfeinern, ohne dass zu viele Nutzer direkt betroffen sind. Der Vorschlag, das Ganze dort zu erproben, klingt sinnvoll.
Ich werde das Ganze dann entsprechend einplanen und die nächsten Schritte in die Wege leiten.Danke auch für das Verständnis und deine Unterstützung!
Hallo @Peter V.,
danke für dein Feedback und die ausführliche Beschreibung!
Es freut mich zu hören, dass der Adapter bei dir fast perfekt funktioniert. 😊
Nach der Überprüfung unter Issue 21 konnte ich feststellen, dass die Datenpunkte für MopPad und Detergent beim Dreame X50 offenbar nicht verfügbar sind, was auch in der App angezeigt wird. Diese Werte werden für das X50-Modell aktuell leider nicht bereitgestellt.Hier ist der relevante Log:
info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"18.2"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"19.1"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"19.2"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"20.1"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"20.2"}],"msg":".."}Wie man sehen kann, gibt die API bei den meisten Anfragen nur den "key" zurück (z. B. 18.1, 19.1), aber ohne den zugehörigen "value"-Wert, der für die Anzeige der Daten notwendig ist.
Falls Dreame in Zukunft diese Daten für das X50-Modell nicht bereitstellt, werde ich das Feature nachträglich hinzufügen, ähnlich wie es beim Wasser-Tracking funktioniert.
Vielen Dank für dein Verständnis und deine Geduld! ;)
-
Hallo @muckel
danke für das Feedback!
Derzeit ist es leider nur möglich, einen Roboter zu binden, aber ich plane, in Zukunft mehrere Roboter zu integrieren, sodass du auch beide Geräte gleichzeitig verwenden kannst.Danke für deine Geduld und dein Verständnis!
Hallo @mcm1957,
danke für den Hinweis und deine Geduld! Du hast völlig recht, dass es in der Beta-Phase keine Probleme gibt, Fehler zu finden und zu beheben.
Tatsächlich ist der Adapter in der jetzigen Form schon stabil und tut, was er soll. Ich wollte nur sicherstellen, dass er wirklich mit allen Geräten und Szenarien reibungslos funktioniert, bevor er offiziell eingereicht wird.
Ich denke, die Aufnahme ins Beta-Repository wäre ein guter Schritt, um ihn weiter zu testen und zu verfeinern, ohne dass zu viele Nutzer direkt betroffen sind. Der Vorschlag, das Ganze dort zu erproben, klingt sinnvoll.
Ich werde das Ganze dann entsprechend einplanen und die nächsten Schritte in die Wege leiten.Danke auch für das Verständnis und deine Unterstützung!
Hallo @Peter V.,
danke für dein Feedback und die ausführliche Beschreibung!
Es freut mich zu hören, dass der Adapter bei dir fast perfekt funktioniert. 😊
Nach der Überprüfung unter Issue 21 konnte ich feststellen, dass die Datenpunkte für MopPad und Detergent beim Dreame X50 offenbar nicht verfügbar sind, was auch in der App angezeigt wird. Diese Werte werden für das X50-Modell aktuell leider nicht bereitgestellt.Hier ist der relevante Log:
info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"18.2"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"19.1"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"19.2"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"20.1"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"20.2"}],"msg":".."}Wie man sehen kann, gibt die API bei den meisten Anfragen nur den "key" zurück (z. B. 18.1, 19.1), aber ohne den zugehörigen "value"-Wert, der für die Anzeige der Daten notwendig ist.
Falls Dreame in Zukunft diese Daten für das X50-Modell nicht bereitstellt, werde ich das Feature nachträglich hinzufügen, ähnlich wie es beim Wasser-Tracking funktioniert.
Vielen Dank für dein Verständnis und deine Geduld! ;)
-
Hallo @muckel
danke für das Feedback!
Derzeit ist es leider nur möglich, einen Roboter zu binden, aber ich plane, in Zukunft mehrere Roboter zu integrieren, sodass du auch beide Geräte gleichzeitig verwenden kannst.Danke für deine Geduld und dein Verständnis!
Hallo @mcm1957,
danke für den Hinweis und deine Geduld! Du hast völlig recht, dass es in der Beta-Phase keine Probleme gibt, Fehler zu finden und zu beheben.
Tatsächlich ist der Adapter in der jetzigen Form schon stabil und tut, was er soll. Ich wollte nur sicherstellen, dass er wirklich mit allen Geräten und Szenarien reibungslos funktioniert, bevor er offiziell eingereicht wird.
Ich denke, die Aufnahme ins Beta-Repository wäre ein guter Schritt, um ihn weiter zu testen und zu verfeinern, ohne dass zu viele Nutzer direkt betroffen sind. Der Vorschlag, das Ganze dort zu erproben, klingt sinnvoll.
Ich werde das Ganze dann entsprechend einplanen und die nächsten Schritte in die Wege leiten.Danke auch für das Verständnis und deine Unterstützung!
Hallo @Peter V.,
danke für dein Feedback und die ausführliche Beschreibung!
Es freut mich zu hören, dass der Adapter bei dir fast perfekt funktioniert. 😊
Nach der Überprüfung unter Issue 21 konnte ich feststellen, dass die Datenpunkte für MopPad und Detergent beim Dreame X50 offenbar nicht verfügbar sind, was auch in der App angezeigt wird. Diese Werte werden für das X50-Modell aktuell leider nicht bereitgestellt.Hier ist der relevante Log:
info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"18.2"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"19.1"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"19.2"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"20.1"}],"msg":".."} info: dreamehome.0 (2225745) https://eu.iot.dreame.tech:13267/dreame-user-iot/iotstatus/props response:{"code":0,"success":true,"data":[{"key":"20.2"}],"msg":".."}Wie man sehen kann, gibt die API bei den meisten Anfragen nur den "key" zurück (z. B. 18.1, 19.1), aber ohne den zugehörigen "value"-Wert, der für die Anzeige der Daten notwendig ist.
Falls Dreame in Zukunft diese Daten für das X50-Modell nicht bereitstellt, werde ich das Feature nachträglich hinzufügen, ähnlich wie es beim Wasser-Tracking funktioniert.
Vielen Dank für dein Verständnis und deine Geduld! ;)
@wawyo
Super, danke für deine Mühe.
Habe mal bei Dreame das als Feature-Request gemeldet.
Frage noch dazu, in VIS-2 (Visualisierung Next Generation) kann ich die Map einbinden, aber so richtig funktioniert das nicht.
In VIS funktiniert es.
Da ich haupsächlich Jarvis als VIS einsetze, habe ich jetzt per Iframe das VIS HTML eingebunden.
Gibt es eine Möglichkeit, das direkt als HTML auszulesen, also unabhängig von VIS, VIS-2, Jarvis?
Oder habe ich da einen Denkfehler? -
Danke für deine schnelle Antwort.
Wäre es als Zwischenschritt möglich eine 2. Instanz zu installieren und in den Instanzen den jeweiligen Sauger anzubinden?Liebe Grüße Erich
@muckel bitte teste dazu die Version 0.1.8 – ab dieser Version sollte es möglich sein, zwei Instanzen parallel zu betreiben und jeweils einem Sauger zuzuordnen.
Damit kannst du also als Zwischenschritt deine beiden Roboter separat anbinden.Freue mich über dein Feedback, ob das bei dir klappt! 😊
-
@wawyo
Super, danke für deine Mühe.
Habe mal bei Dreame das als Feature-Request gemeldet.
Frage noch dazu, in VIS-2 (Visualisierung Next Generation) kann ich die Map einbinden, aber so richtig funktioniert das nicht.
In VIS funktiniert es.
Da ich haupsächlich Jarvis als VIS einsetze, habe ich jetzt per Iframe das VIS HTML eingebunden.
Gibt es eine Möglichkeit, das direkt als HTML auszulesen, also unabhängig von VIS, VIS-2, Jarvis?
Oder habe ich da einen Denkfehler?@peter-v Hey, danke dir – freut mich, dass du das Feature auch an Dreame weitergeleitet hast!
Zu deiner Frage:
Aktuell wird die Map als HTML-Widget speziell für VIS (klassisch) aufbereitet, was erklärt, warum es dort problemlos funktioniert.
In VIS-2 gibt’s leider noch einige Einschränkungen bei der Einbindung von Widgets mit komplexem DOM und externem JS – daher klappt das mit der Map dort nicht zuverlässig.Jarvis selbst unterstützt aktuell keine native Einbindung der Map-Komponenten.
Dein Workaround mit dem iframe über VIS-HTML ist also im Moment tatsächlich der praktikabelste Weg.Zur Idee, die Map direkt als HTML auszulesen:
Die Map wird im Hintergrund dynamisch generiert und steht nicht als statisches HTML zur Verfügung.
Ein direkter Zugriff – etwa über eine URL oder eine API – auf eine vollständig gerenderte HTML-Darstellung der Karte ist derzeit leider nicht möglich.
Das wäre aber definitiv ein interessanter Ansatz für die Zukunft!Ich nehme das gerne mal als Feature-Request mit auf. 😊
-
@muckel bitte teste dazu die Version 0.1.8 – ab dieser Version sollte es möglich sein, zwei Instanzen parallel zu betreiben und jeweils einem Sauger zuzuordnen.
Damit kannst du also als Zwischenschritt deine beiden Roboter separat anbinden.Freue mich über dein Feedback, ob das bei dir klappt! 😊
Wow, wahnsinn! Funktioniert.
Bin zwar erst jetzt nach hause gekommen und hab die 2. Instanz natürlich sofort probieren müssen.Ich werde mich in den nächsten Tagen mal intensiver mit der Steuerung befassen.
Rückmeldung kommt.Danke für die schnelle Implementierung.
Lg. Erich
-
Wow, wahnsinn! Funktioniert.
Bin zwar erst jetzt nach hause gekommen und hab die 2. Instanz natürlich sofort probieren müssen.Ich werde mich in den nächsten Tagen mal intensiver mit der Steuerung befassen.
Rückmeldung kommt.Danke für die schnelle Implementierung.
Lg. Erich
-
Hallo.
Ich kann leider meinen Sauger (L10s Pro Ultra Heat) nicht Starten. Beim Versuch die RoomID zu ändern wird mir gesagt sie ist Schreibgeschützt. Ohne ein Wert startet er nicht.
Versuch Neuinstallation brachte keinen Erfolg.
Iobroker Plattform: docker (official image - v10.0.0). Alles aktualisiert!
Was kann ich versuchen?
Danke Falko! -
Momentan gibt es Probleme mit dem Alexa Adapter, oder besser gesagt mit dem IoBroker Skill.
lg. erich
Hallo @muckel ,
danke für den Hinweis!Kannst du bitte etwas genauer sagen, welche Befehle nicht funktionieren?
Also z. B.:
– Betrifft es alle Geräte oder nur bestimmte?
– Welche Befehle hast du genau gesagt?z. B.
Wohnzimmer Turbo saugen und nass wischen oder Flur nass wischen→ Reagiert Alexa überhaupt darauf?
→ Gibt es eine Fehlermeldung?Würde helfen, das Problem besser einzugrenzen.
-
Hallo.
Ich kann leider meinen Sauger (L10s Pro Ultra Heat) nicht Starten. Beim Versuch die RoomID zu ändern wird mir gesagt sie ist Schreibgeschützt. Ohne ein Wert startet er nicht.
Versuch Neuinstallation brachte keinen Erfolg.
Iobroker Plattform: docker (official image - v10.0.0). Alles aktualisiert!
Was kann ich versuchen?
Danke Falko!Hallo @kellerassel75
danke für die Info.Bitte aktiviere mal folgendes, damit wir genauer analysieren können:
dreamehome.0.settings.showlog auf true setzen.Dann starte den Adapter neu oder lade die Map neu, und schau dir das Log an.
Mich interessiert dort besonders dieser Abschnitt (bitte hier posten):
"Map with polygon data saved": { ... "walls_info": { ... "rooms": [ { "room_id": ..., ← wichtig ... } ] }, ... "seg_inf": { "1": { "name": ..., ... }, ... } }Also konkret:
Welche room_id wird deinem Raum zugewiesen?
Gibt es passende Einträge unter seg_inf?Denn:
Wenn keine gültige room_id verfügbar ist oder sie nicht korrekt zugeordnet werden kann, lässt sich der Sauger per ioBroker-Befehl nicht starten.Zusätzlich kannst du dir unter: dreamehome.0.xxxx.map.0.MapImage
die Karte als Bild anzeigen lassen – dort sollten die Räume mit Nummern sichtbar sein.
z.B.
Bitte danach nicht vergessen: dreamehome.0.settings.showlog wieder auf false setzen – spart Ressourcen.Wenn du das gepostet hast, kann ich dir gezielt weiterhelfen. 👍
-
Hallo @kellerassel75
danke für die Info.Bitte aktiviere mal folgendes, damit wir genauer analysieren können:
dreamehome.0.settings.showlog auf true setzen.Dann starte den Adapter neu oder lade die Map neu, und schau dir das Log an.
Mich interessiert dort besonders dieser Abschnitt (bitte hier posten):
"Map with polygon data saved": { ... "walls_info": { ... "rooms": [ { "room_id": ..., ← wichtig ... } ] }, ... "seg_inf": { "1": { "name": ..., ... }, ... } }Also konkret:
Welche room_id wird deinem Raum zugewiesen?
Gibt es passende Einträge unter seg_inf?Denn:
Wenn keine gültige room_id verfügbar ist oder sie nicht korrekt zugeordnet werden kann, lässt sich der Sauger per ioBroker-Befehl nicht starten.Zusätzlich kannst du dir unter: dreamehome.0.xxxx.map.0.MapImage
die Karte als Bild anzeigen lassen – dort sollten die Räume mit Nummern sichtbar sein.
z.B.
Bitte danach nicht vergessen: dreamehome.0.settings.showlog wieder auf false setzen – spart Ressourcen.Wenn du das gepostet hast, kann ich dir gezielt weiterhelfen. 👍
Hallo @wawyo.
Also log, habe ich angemacht.
Nur ein Ausschnitt!
warn Test customMapData: {"vw":{"line":[],"rect":[],"mop":[],"nocpt":[],"addcpt":[]},"vws":{"vwsl":[]},"pointinfo":[],"whmp":[3455,1707],"whm":"eF7tnU-OJLtxxsvlXQLTh9ANJEF-lte-gwFBgOGFF148wIC0M3wvncYn8Mow4KU08Y-M-CKYSWZl1XS19cN7XclgMBhfBpOZVdUzc7_9_m__6f_-_Nvb727y81e3_77949_81__-6X9uX4p7Bl2-DPcN- warn Failed to split "Map Switching methode" State failed: TypeError: Cannot read properties of null (reading 'val') info Map with polygon data saved: {"vw":{"line":[],"rect":[],"mop":[],"nocpt":[],"addcpt":[]},"vws":{"vwsl":[]},"pointinfo":[],"whmp":[3455,1707],"whm":"eF7tnU-OJLtxxsvlXQLTh9ANJEF-lte-gwFBgOGFF148wIC0M3wvncYn8Mow4KU08Y-M-CKYSWZl1XS19cN7XclgMBhfBpOZVdUzc7_9_m__6f_-_Nvb727y81e3_77949_81__-6X9uX4p7Bl2-DPcN-MapImage:

Alles vorhanden!
Und nach Löschen des Objekts „Wohnzimmer“ wird es neu erstellt:

Ich kenne mich leider nicht so gut aus. Solltest du noch Informationen brauchen, bitte genau beschreiben, wo ich diese finde.
Danke! Falko
-
Hallo @wawyo.
Also log, habe ich angemacht.
Nur ein Ausschnitt!
warn Test customMapData: {"vw":{"line":[],"rect":[],"mop":[],"nocpt":[],"addcpt":[]},"vws":{"vwsl":[]},"pointinfo":[],"whmp":[3455,1707],"whm":"eF7tnU-OJLtxxsvlXQLTh9ANJEF-lte-gwFBgOGFF148wIC0M3wvncYn8Mow4KU08Y-M-CKYSWZl1XS19cN7XclgMBhfBpOZVdUzc7_9_m__6f_-_Nvb727y81e3_77949_81__-6X9uX4p7Bl2-DPcN- warn Failed to split "Map Switching methode" State failed: TypeError: Cannot read properties of null (reading 'val') info Map with polygon data saved: {"vw":{"line":[],"rect":[],"mop":[],"nocpt":[],"addcpt":[]},"vws":{"vwsl":[]},"pointinfo":[],"whmp":[3455,1707],"whm":"eF7tnU-OJLtxxsvlXQLTh9ANJEF-lte-gwFBgOGFF148wIC0M3wvncYn8Mow4KU08Y-M-CKYSWZl1XS19cN7XclgMBhfBpOZVdUzc7_9_m__6f_-_Nvb727y81e3_77949_81__-6X9uX4p7Bl2-DPcN-MapImage:

Alles vorhanden!
Und nach Löschen des Objekts „Wohnzimmer“ wird es neu erstellt:

Ich kenne mich leider nicht so gut aus. Solltest du noch Informationen brauchen, bitte genau beschreiben, wo ich diese finde.
Danke! Falko
Hi @Kellerassel75,
Hier eine kurze Erklärung zu deinem Log:warn Test customMapData: {...}→ Das ist normal. Diese Ausgabe gehört zur Unterstützung von benutzerdefinierten Maps – gedacht für fortgeschrittene Nutzer, die ihre Karte lokal bearbeiten oder anpassen wollen. Wenn du nichts manuell machst, kannst du das ignorieren.
Failed to split "Map Switching methode" State failed: TypeError: Cannot read properties of null (reading 'val')→ Diese Meldung gehört zur Dreame Map Switching Methode. Damit kann der Roboter automatisch zwischen verschiedenen Karten wechseln (z. B. bei mehreren Etagen).
Der Fehler bedeutet, dass beim Wechsel versucht wurde, auf ein nicht vorhandenes oder nicht initialisiertes Objekt zuzugreifen. Wenn du aktuell nur eine Karte verwendest, kannst du das erstmal ignorieren.Map with polygon data saved:→ Auch wenn der Inhalt im Log abgeschnitten ist: Laut deinem Screenshot und der Map-Ansicht sind alle wichtigen Daten vorhanden – Wände, Türen und die room_id.
Auch das Objekt „Wohnzimmer“ zeigt eine korrekte RoomID.
Zum Status "Unbekannt" bei den Objekten:
Das ist normal. Die Stati werden erst aktualisiert, wenn der Roboter eine Reinigung startet.
Die Daten kommen aus den Objekten:dreamehome.0.xxxx.mqtt.sa dreamehome.0.xxxx.mqtt.cleansetEs ist nicht schlimm, wenn dort erstmal "Unbekannt" steht – du kannst die Werte bei Bedarf auch manuell setzen.
So startest du die Reinigung für dein Wohnzimmer:
- Setze folgende States:
- dreamehome.0.xxxx.map.0.Wohnzimmer.Repeat → 1, 2 oder 3
- dreamehome.0.xxxx.map.0.Wohnzimmer.SectionLevel → Leise, Standard, Stark oder Turbo
- dreamehome.0.xxxx.map.0.Wohnzimmer.WaterVolume → 1 bis 32
- dreamehome.0.xxxx.map.0.Wohnzimmer.CleaningMode → Saugen und Wischen, Wischen, Staubsaugen oder Wischen nach dem Saugen
- dreamehome.0.xxxx.map.0.Wohnzimmer.CleaningRoute → Standard, Intensiv, Tief oder Schnell
-
Dann aktivierst du:
dreamehome.0.xxxx.map.0.Wohnzimmer.Cleaning → true (Ja)
→ Damit wird das Wohnzimmer als Reinigungsziel gesetzt. -
Zum Starten der Reinigung:
dreamehome.0.xxxx.map.StartCleaningByRoomConfig → true
→ Danach sollte der Roboter direkt loslegen ;)
💡 Hinweis:
Diese Einstellungen kannst du für jeden Raum einzeln vornehmen – die Struktur ist immer gleich aufgebaut.
Am einfachsten geht das übrigens über die erstellte HTML-Map in der VIS: Dort kannst du die Raum-Reinigung komfortabel per Klick steuern und musst nicht direkt mit den States arbeiten.Wenn du noch Fragen hast oder was unklar ist – gerne einfach melden!
-
Hi @Kellerassel75,
Hier eine kurze Erklärung zu deinem Log:warn Test customMapData: {...}→ Das ist normal. Diese Ausgabe gehört zur Unterstützung von benutzerdefinierten Maps – gedacht für fortgeschrittene Nutzer, die ihre Karte lokal bearbeiten oder anpassen wollen. Wenn du nichts manuell machst, kannst du das ignorieren.
Failed to split "Map Switching methode" State failed: TypeError: Cannot read properties of null (reading 'val')→ Diese Meldung gehört zur Dreame Map Switching Methode. Damit kann der Roboter automatisch zwischen verschiedenen Karten wechseln (z. B. bei mehreren Etagen).
Der Fehler bedeutet, dass beim Wechsel versucht wurde, auf ein nicht vorhandenes oder nicht initialisiertes Objekt zuzugreifen. Wenn du aktuell nur eine Karte verwendest, kannst du das erstmal ignorieren.Map with polygon data saved:→ Auch wenn der Inhalt im Log abgeschnitten ist: Laut deinem Screenshot und der Map-Ansicht sind alle wichtigen Daten vorhanden – Wände, Türen und die room_id.
Auch das Objekt „Wohnzimmer“ zeigt eine korrekte RoomID.
Zum Status "Unbekannt" bei den Objekten:
Das ist normal. Die Stati werden erst aktualisiert, wenn der Roboter eine Reinigung startet.
Die Daten kommen aus den Objekten:dreamehome.0.xxxx.mqtt.sa dreamehome.0.xxxx.mqtt.cleansetEs ist nicht schlimm, wenn dort erstmal "Unbekannt" steht – du kannst die Werte bei Bedarf auch manuell setzen.
So startest du die Reinigung für dein Wohnzimmer:
- Setze folgende States:
- dreamehome.0.xxxx.map.0.Wohnzimmer.Repeat → 1, 2 oder 3
- dreamehome.0.xxxx.map.0.Wohnzimmer.SectionLevel → Leise, Standard, Stark oder Turbo
- dreamehome.0.xxxx.map.0.Wohnzimmer.WaterVolume → 1 bis 32
- dreamehome.0.xxxx.map.0.Wohnzimmer.CleaningMode → Saugen und Wischen, Wischen, Staubsaugen oder Wischen nach dem Saugen
- dreamehome.0.xxxx.map.0.Wohnzimmer.CleaningRoute → Standard, Intensiv, Tief oder Schnell
-
Dann aktivierst du:
dreamehome.0.xxxx.map.0.Wohnzimmer.Cleaning → true (Ja)
→ Damit wird das Wohnzimmer als Reinigungsziel gesetzt. -
Zum Starten der Reinigung:
dreamehome.0.xxxx.map.StartCleaningByRoomConfig → true
→ Danach sollte der Roboter direkt loslegen ;)
💡 Hinweis:
Diese Einstellungen kannst du für jeden Raum einzeln vornehmen – die Struktur ist immer gleich aufgebaut.
Am einfachsten geht das übrigens über die erstellte HTML-Map in der VIS: Dort kannst du die Raum-Reinigung komfortabel per Klick steuern und musst nicht direkt mit den States arbeiten.Wenn du noch Fragen hast oder was unklar ist – gerne einfach melden!
Hallo @wawyo.
Ich habe deine Einstellungen gemacht.

Aber er startet einfach nicht! Keine Reaktion!
dreamehome.0 2025-07-27 14:14:06.564 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":2688,"data":{"did":"988649417","id":2688,"method":"action","params":{"did":"988649417","siid":4,"aiid":1,"in":[{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}]}}} | Response: {"code":0,"success":true,"data":{"id":2688,"result":{"did":"988649417","siid":4,"aiid":1,"out":[],"code":0}},"msg":null} dreamehome.0 2025-07-27 14:14:06.435 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":2688,"data":{"did":"988649417","id":2688,"method":"set_properties","params":[{"siid":4,"piid":50,"value":"{\"k\":\"SmartHost\",\"v\":0}"}]}} | Response: {"code":0,"success":true,"data":{"id":2688,"result":[{"siid":4,"did":"988649417","piid":50,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:06.324 info Send Command: Start custom dreamehome.0 2025-07-27 14:14:05.958 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":4115,"data":{"did":"988649417","id":4115,"method":"set_properties","params":[{"siid":4,"piid":4,"value":0}]}} | Response: {"code":0,"success":true,"data":{"id":4115,"result":[{"siid":4,"did":"988649417","piid":4,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:05.821 info Send Extended Command: [{"siid":4,"piid":4,"value":0}] dreamehome.0 2025-07-27 14:14:05.817 info applyCleaningSettings => Settings: 1, suction: 0, mopping: -1 dreamehome.0 2025-07-27 14:14:05.816 info Change Suction Level to 0 dreamehome.0 2025-07-27 14:14:05.815 info Send Command: Suction level dreamehome.0 2025-07-27 14:14:05.308 info Resolved levels => suctionLevel: 0, moppingLevel: -1, alexaUserSettings: 1 dreamehome.0 2025-07-27 14:14:05.307 info Parsed values => Suction: Leise, Mopping: Hoch, Mode: 5122 dreamehome.0 2025-07-27 14:14:04.805 info Starte die Reinigung von Raum 10 (Wohnzimmer) mit Modus Staubsaugen dreamehome.0 2025-07-27 14:14:04.804 info CleaningMode: Staubsaugen erfolgreich gesetzt. dreamehome.0 2025-07-27 14:14:04.804 info Current CleaningMode: Staubsaugen dreamehome.0 2025-07-27 14:14:04.432 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":7785,"data":{"did":"988649417","id":7785,"method":"set_properties","params":[{"siid":4,"piid":23,"value":5122}]}} | Response: {"code":0,"success":true,"data":{"id":7785,"result":[{"siid":4,"did":"988649417","piid":23,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:04.322 info Send Extended Command: [{"siid":4,"piid":23,"value":5122}] dreamehome.0 2025-07-27 14:14:04.321 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":7785,"data":{"did":"988649417","id":7785,"method":"set_properties","params":[{"siid":4,"piid":26,"value":0}]}} | Response: {"code":0,"success":true,"data":{"id":7785,"result":[{"siid":4,"did":"988649417","piid":26,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:04.200 info Send Extended Command: {"did":"988649417","id":7785,"data":{"did":"988649417","id":7785,"method":"set_properties","params":[{"siid":4,"piid":26,"value":0}]}} dreamehome.0 2025-07-27 14:14:04.197 info Send Command: Cleaning mode dreamehome.0 2025-07-27 14:14:04.188 info Versuch 1: Setze CleaningMode auf 5122 dreamehome.0 2025-07-27 14:14:03.935 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":6965,"data":{"did":"988649417","id":6965,"method":"set_properties","params":[{"siid":4,"piid":50,"value":"{\"k\":\"SmartHost\",\"v\":0}"}]}} | Response: {"code":0,"success":true,"data":{"id":6965,"result":[{"siid":4,"did":"988649417","piid":50,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:03.689 info Send Extended Command: [{"siid":4,"piid":50,"value":"{\"k\":\"SmartHost\",\"v\":0}"}] dreamehome.0 2025-07-27 14:14:03.686 info Send Command: Clean Genius dreamehome.0 2025-07-27 14:14:03.178 info Started a new cleaning process without checking for cancel command. dreamehome.0 2025-07-27 14:14:03.109 info DH_SendAction(roomAction): {"10":{"name":"Wohnzimmer","suction":"Leise","mopping":"Hoch","repetitions":1,"cleaningModes":5122,"cleanGenius":0,"customCommand":[{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}],"AlexaSpeakSentence":"Wohnzimmer Leise saugen Hoch wischen 1 mal"}} dreamehome.0 2025-07-27 14:14:03.108 info DH_SendAction(startClean): [{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}] dreamehome.0 2025-07-27 14:14:03.105 info All same mode: true dreamehome.0 2025-07-27 14:14:03.105 info Grouped and sorted rooms: {"5122":[10]} dreamehome.0 2025-07-27 14:14:03.053 info Final Object for room "Wohnzimmer": {"ValidCommandState":true,"ValidRoomId":10,"ValidCustomCommand":[10,1,0,22,null],"ValidCommand":{"name":"Wohnzimmer","suction":"Leise","mopping":"Hoch","repetitions":1,"cleaningModes":5122,"cleanGenius":0,"customCommand":[{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}],"AlexaSpeakSentence":"Wohnzimmer Leise saugen Hoch wischen 1 mal"}} dreamehome.0 2025-07-27 14:14:03.053 info Final values for room "Wohnzimmer": SuctionLevel: 0, WaterVolume: 22, Repeat: 1, Room Order: 10, Room cleaning order: null dreamehome.0 2025-07-27 14:14:03.051 info Validating room: Wohnzimmer | Cleaning: 1, SuctionLevel: 0, WaterVolume: 22, Repeat: 1, CleaningMode: 5122, CleaningRoute: 1Mein Ziel ist, das ich den Sauger über Telegram starte. Ich habe da schon einiges am laufen
(Rollo,Licht,Gartenbewässerung..).Vielen Dank!
Falko -
Hallo @wawyo.
Ich habe deine Einstellungen gemacht.

Aber er startet einfach nicht! Keine Reaktion!
dreamehome.0 2025-07-27 14:14:06.564 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":2688,"data":{"did":"988649417","id":2688,"method":"action","params":{"did":"988649417","siid":4,"aiid":1,"in":[{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}]}}} | Response: {"code":0,"success":true,"data":{"id":2688,"result":{"did":"988649417","siid":4,"aiid":1,"out":[],"code":0}},"msg":null} dreamehome.0 2025-07-27 14:14:06.435 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":2688,"data":{"did":"988649417","id":2688,"method":"set_properties","params":[{"siid":4,"piid":50,"value":"{\"k\":\"SmartHost\",\"v\":0}"}]}} | Response: {"code":0,"success":true,"data":{"id":2688,"result":[{"siid":4,"did":"988649417","piid":50,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:06.324 info Send Command: Start custom dreamehome.0 2025-07-27 14:14:05.958 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":4115,"data":{"did":"988649417","id":4115,"method":"set_properties","params":[{"siid":4,"piid":4,"value":0}]}} | Response: {"code":0,"success":true,"data":{"id":4115,"result":[{"siid":4,"did":"988649417","piid":4,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:05.821 info Send Extended Command: [{"siid":4,"piid":4,"value":0}] dreamehome.0 2025-07-27 14:14:05.817 info applyCleaningSettings => Settings: 1, suction: 0, mopping: -1 dreamehome.0 2025-07-27 14:14:05.816 info Change Suction Level to 0 dreamehome.0 2025-07-27 14:14:05.815 info Send Command: Suction level dreamehome.0 2025-07-27 14:14:05.308 info Resolved levels => suctionLevel: 0, moppingLevel: -1, alexaUserSettings: 1 dreamehome.0 2025-07-27 14:14:05.307 info Parsed values => Suction: Leise, Mopping: Hoch, Mode: 5122 dreamehome.0 2025-07-27 14:14:04.805 info Starte die Reinigung von Raum 10 (Wohnzimmer) mit Modus Staubsaugen dreamehome.0 2025-07-27 14:14:04.804 info CleaningMode: Staubsaugen erfolgreich gesetzt. dreamehome.0 2025-07-27 14:14:04.804 info Current CleaningMode: Staubsaugen dreamehome.0 2025-07-27 14:14:04.432 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":7785,"data":{"did":"988649417","id":7785,"method":"set_properties","params":[{"siid":4,"piid":23,"value":5122}]}} | Response: {"code":0,"success":true,"data":{"id":7785,"result":[{"siid":4,"did":"988649417","piid":23,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:04.322 info Send Extended Command: [{"siid":4,"piid":23,"value":5122}] dreamehome.0 2025-07-27 14:14:04.321 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":7785,"data":{"did":"988649417","id":7785,"method":"set_properties","params":[{"siid":4,"piid":26,"value":0}]}} | Response: {"code":0,"success":true,"data":{"id":7785,"result":[{"siid":4,"did":"988649417","piid":26,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:04.200 info Send Extended Command: {"did":"988649417","id":7785,"data":{"did":"988649417","id":7785,"method":"set_properties","params":[{"siid":4,"piid":26,"value":0}]}} dreamehome.0 2025-07-27 14:14:04.197 info Send Command: Cleaning mode dreamehome.0 2025-07-27 14:14:04.188 info Versuch 1: Setze CleaningMode auf 5122 dreamehome.0 2025-07-27 14:14:03.935 info https://eu.iot.dreame.tech:13267/dreame-iot-com-10000/device/sendCommand | {"did":"988649417","id":6965,"data":{"did":"988649417","id":6965,"method":"set_properties","params":[{"siid":4,"piid":50,"value":"{\"k\":\"SmartHost\",\"v\":0}"}]}} | Response: {"code":0,"success":true,"data":{"id":6965,"result":[{"siid":4,"did":"988649417","piid":50,"code":0}]},"msg":null} dreamehome.0 2025-07-27 14:14:03.689 info Send Extended Command: [{"siid":4,"piid":50,"value":"{\"k\":\"SmartHost\",\"v\":0}"}] dreamehome.0 2025-07-27 14:14:03.686 info Send Command: Clean Genius dreamehome.0 2025-07-27 14:14:03.178 info Started a new cleaning process without checking for cancel command. dreamehome.0 2025-07-27 14:14:03.109 info DH_SendAction(roomAction): {"10":{"name":"Wohnzimmer","suction":"Leise","mopping":"Hoch","repetitions":1,"cleaningModes":5122,"cleanGenius":0,"customCommand":[{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}],"AlexaSpeakSentence":"Wohnzimmer Leise saugen Hoch wischen 1 mal"}} dreamehome.0 2025-07-27 14:14:03.108 info DH_SendAction(startClean): [{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}] dreamehome.0 2025-07-27 14:14:03.105 info All same mode: true dreamehome.0 2025-07-27 14:14:03.105 info Grouped and sorted rooms: {"5122":[10]} dreamehome.0 2025-07-27 14:14:03.053 info Final Object for room "Wohnzimmer": {"ValidCommandState":true,"ValidRoomId":10,"ValidCustomCommand":[10,1,0,22,null],"ValidCommand":{"name":"Wohnzimmer","suction":"Leise","mopping":"Hoch","repetitions":1,"cleaningModes":5122,"cleanGenius":0,"customCommand":[{"piid":1,"value":18},{"piid":10,"value":"{\"selects\":[[10,1,0,22,null]]}"}],"AlexaSpeakSentence":"Wohnzimmer Leise saugen Hoch wischen 1 mal"}} dreamehome.0 2025-07-27 14:14:03.053 info Final values for room "Wohnzimmer": SuctionLevel: 0, WaterVolume: 22, Repeat: 1, Room Order: 10, Room cleaning order: null dreamehome.0 2025-07-27 14:14:03.051 info Validating room: Wohnzimmer | Cleaning: 1, SuctionLevel: 0, WaterVolume: 22, Repeat: 1, CleaningMode: 5122, CleaningRoute: 1Mein Ziel ist, das ich den Sauger über Telegram starte. Ich habe da schon einiges am laufen
(Rollo,Licht,Gartenbewässerung..).Vielen Dank!
Falko@kellerassel75 vielen Dank für die ausführlichen Log-Auszüge.
Anhand der Analyse zeigt sich ein Hauptproblem mit der cleanOrder (cleanOrder immer null).
Die korrekte Konfiguration sollte folgendes Format haben:
{"1":[1,30,2,4,2,1],"2":[2,31,3,2,2,3],"3":[2,30,1,8,2,1],"4":[3,31,3,7,2,3],"5":[3,31,2,1,2,3],"6":[3,30,2,6,2,1],"7":[1,31,1,3,2,1],"8":[2,31,2,5,2,3],"9":[1,3,1,0,2,546]}Dabei gilt:
Key ("1", "2" etc.) = Reinigungsreihenfolge
4. Element im Array = Raum-ID (z.B. 4 im ersten Eintrag)Lösungsweg:
- Dreame App öffnen
- Zur "Kartenverwaltung" navigieren
- "Reinigungsreihenfolge" auswählen
- Räume per Drag&Drop in gewünschter Reihenfolge anordnen
- Änderungen speichern
- Kurze Reinigung starten und sofort unterbrechen (aktualisiert das cleanset-Objekt)Die nächste Adapter-Version wird verbesserte Fehlermeldungen bei ungültigen Konfigurationen bereitstellen.
Falls das Problem weiterhin besteht, bitte send mir der Inhalt von: dreamehome.0.xxxx.mqtt.cleanset
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden