NEWS
Test DreameHome: 3D-Visualisierung und Alexa-Steuerung
-
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.cleanset
Es 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: 1
Mein 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
-
-
Sorry für die späte Antwort.
Der Alexa-Skill "Iobroker" lässt sich in der Alexa App (Handy) nicht mehr starten.
Somit funktioniert nichts mehr, was auf den Alexa-Adapter zugreift.
Wenn der Skill läuft und nicht gestoppt wurde funktioniert alles noch wie gewohnt! -
Schön daß sich jemand gefunden hat um einen Dreame -Adapter zu programmieren.
Gibt es ein kleines HowTo oder eine Anleitung.
Wie ich meinen Dreame mit Alexa steuern kann?
Oben steht ja nur das Canvas und der Alexa Adapter installiert sein sollen mehr aber nicht?
Stehe nen bisschen auf dem Schlauch
Danke -
@kellerassel75 said in Test DreameHome: 3D-Visualisierung und Alexa-Steuerung:
Hallo @wawyo!
Super! Es funktioniert!
Danke für deine Super Arbeit!
Gruß Falko!Hallo @kellerassel75, freut mich sehr, dass es bei dir funktioniert
-
@muckel Kein Problem – danke für deine Rückmeldung!
Ich habe bereits eine technische Möglichkeit vorbereitet, die Alexa-Daten direkt zu parsen, ohne über den ioBroker-Alexa-Adapter zu gehen. Allerdings müsste dafür u. a. Chromium installiert werden, da der Ansatz über ein Headless-Browser-Framework läuft – das würde den Adapter deutlich komplexer machen und den Installationsaufwand erhöhen.
Aktuell denke ich, dass der offizielle Alexa-Adapter den Job sehr zuverlässig übernimmt – daher überspringe ich diesen Teil vorerst, um die Einstiegshürde für die meisten Nutzer niedrig zu halten.
Später kann ich das direkte Parsing eventuell als Option integrieren, z. B. für den Fall, dass der Alexa-Skill dauerhaft nicht mehr nutzbar ist.
-
@hahne Schön, dass du den neuen DreameHome-Adapter verwenden möchtest!
Hier findest du ein einfaches How-To mit Beispielbefehlen und allen wichtigen Infos zur Einrichtung.
1. Adapter installieren & konfigurieren
a. DreameHome-Adapter installieren- Die aktuelle Version 0.1.8 ist noch nicht offiziell im ioBroker-Adapterstore gelistet.
- Du kannst sie direkt über GitHub installieren:
Ich arbeite gerade an der offiziellen Aufnahme des Adapters in den ioBroker-Store.
b. Den Alexa-Adapter installierst du wie gewohnt über die ioBroker-Adapterliste.
c. Im DreameHome-Adapter musst du deine Dreame-Accountdaten (E-Mail + Passwort) eintragen, damit der Roboter erkannt wird.
2. Sprachsteuerung mit Alexa
→ Aufbau von Sprachbefehlen:
[Raum] + [Stufe/Synonym] + [saugen/wischen]
Du kannst:
- beliebige Synonyme verwenden
- mehrere Räume oder Befehle mit „und“ kombinieren
- Wiederholungen angeben: z. B. „zwei mal“
→ Beispiele (Einzelbefehle):
- „Wohnzimmer leicht saugen“
- „Küche stark wischen“
- „Esszimmer turbo saugen“
- „Badezimmer sehr nass wischen“
- „Kinderzimmer normal saugen“
→ Beispiele (Mehrere Räume und Aktionen):
- „Flur stark saugen und Küche leicht wischen“
- „Stube turbo saugen und Schlafzimmer nass wischen“
- „Wohnzimmer leise saugen und nass wischen“
→ Wiederholungen:
- „Wohnzimmer leicht wischen zweimal“
- „Flur nass wischen drei mal“
- „Küche turbo saugen zwei mal“
→ Spezialbefehle:
- „Roboter entleeren“ → startet Entleerungsvorgang
- „Reinigung abbrechen“ oder „Dreame aus“ → stoppt die Reinigung sofort
- „Roboter, bitte Mopp reinigen“
- Status abfragen
„Was ist der Roboter-Status?“
„Roboter Status prüfen“ - Einzelne Komponenten zurücksetzen
„Bitte Roboter Filter zurücksetzen“
„Hauptbürste resetten“
„Mopp wiederherstellen“ - Alles zurücksetzen (Wartung)
„Alles zurücksetzen“
→ Hinweise:
-
Du kannst viele Synonyme verwenden (z. B. „Stube“ statt „Wohnzimmer“, „feucht“ statt „mittel“, „putzen stoppen“ statt „roboter aus“)
-
Sowohl Deutsch als auch Englisch wird unterstützt
-
Wenn Alexa deinen Befehl nicht versteht, bekommst du eine Rückmeldung – du kannst einfach mit den Begriffen experimentieren
-
Verwende natürliche Sprache, z. B.:
„Bitte das Badezimmer leicht wischen“
„Mach mal den Flur turbo saugen“ -
Das Wort „und“ ist wichtig, um mehrere Räume oder Aufgaben zu verbinden
️ Der Adapter befindet sich noch in der Entwicklung.
Aktuelle Version: 0.1.8 auf GitHub – die Aufnahme in den offiziellen Adapterstore folgt bald. -
@wawyo
Danke für die Antwort.
Ich habe den Alexa2 und den Dreamehome Adapter laufen, beide sind Konfiguriert.Aber wie bekomme ich jetzt meinen Dreame L10S Ultra in Alexa rein
der Alexa2 Adapter ist doch nur zum Steuern der Echos da?
Woher weiß der Alexa2 Adapter jetzt von dem Dreame Saugroboter?Grüße
-
@hahne der Trick liegt darin, dass der DreameHome-Adapter die Alexa-Kommandos abfängt und umwandelt - auch wenn Alexa diese Befehle offiziell nicht unterstützt. So funktioniert's:
-
Magie im Hintergrund:
- Der Adapter überwacht die Alexa-History (über den Alexa2-Adapter)
- Er erkennt spezifische Befehle wie "Roboter Filter Status" oder "Wohnzimmer Turbo saugen" (auch wenn Alexa sie normalerweise ignorieren würde)
- Beispiel:
"Alexa, sag dem Roboter Küche nass wischen" → DreameHome übersetzt dies in den Befehl5121
(Wischmodus) für Raum-ID 10.
-
Teste es selbst:
- Sprich einen Befehl aus Post #39 z.B.:
"Alexa, Roboter Filter Status"
"Alexa, Wohnzimmer Turbo saugen" - Der Adapter sollte reagieren, auch wenn Alexa nur eine generische Bestätigung gibt ("Okay").
- Sprich einen Befehl aus Post #39 z.B.:
-
Voraussetzungen:
- Alexa2-Adapter muss "History auslesen" dürfen (Einstellung
enableHistory
). - Der DreameHome-Adapter muss im "Alexa-Modus" konfiguriert sein (siehe Adaptereinstellungen).
- Alexa2-Adapter muss "History auslesen" dürfen (Einstellung
Wichtig: Es gibt keine offizielle Alexa-Integration - die Befehle werden durch den Adapter "geschummelt". Falls etwas nicht klappt:
- Prüfe die Alexa-History im Alexa2-Adapter (Objekt
alexa2.0.Echo-Devices.XYZ.History
)
-
-
Ich hab Mal 2 Bilder gemacht wie sie Adaptereinstellungen bei mir aussehen.
Ich habe beim Alexa2 Adapter keine Auswahlmöglichkeit irgendetwas mit Histor zu aktivieren. Auch der Datenpunkt "History" existiert unter Alexa2.0.echodevices nicht.
Auch im Dreamehome Adapter habe ich keine Auswahlmöglichkeit irgendwas mit Alexa zu aktivieren.
Grüße
-
Hallo @hahne,
kannst du bitte der Screenshot vom DreameHome-Adapter löschen? Man sieht darauf deine E-Mail-Adresse – wäre gut, das aus Datenschutzgründen zu entfernen.
Zum Thema Alexa History:
Das Update läuft aktuell alle 5 Minuten. Könntest du das History-Aktualisierungsintervall bitte auf 60 umstellen? -
@wawyo
Hab ich gelöscht.
Den Intervall habe ich auf 60 Sekunden gestellt .Es gibt aber keinen Ordner unter den Echo Devices der History Heißt, der Ordner der History heißt ist bei mir im Stammverzeichnis alexa2.0.History
Der Dreamehome Adapter ist grün und unter den Objekten sehe ich auch meinen Roboter.
Egal was ich zu Alexa sage was mit saugen, wischen , Roboter zu tun hat es kommt immer :
Ich weiß nicht wie ich dir dabei helfen kann.Hab ich irgendwas übersehen?
-
@hahne
Sorry, mein Fehler – das relevante Objekt istalexa2.0.History.summary
, nicht unter den Echo-Devices direkt.Bitte geh folgendermaßen vor, um die Alexa-Anbindung und den Roboterbefehl zu testen:
-
DreameHome-Adapter neustarten
Gehe in ioBroker auf die Adapter-Seite und starte dreamehome.0 neu.
Im Log sollte dabei folgendes (oder etwas Ähnliches) erscheinen:dreamehome.0 info Connection to MQTT successfully established dreamehome.0 info Alexa ist aktiv, und der Roboter akzeptiert Sprachbefehle. Du kannst einfach sagen: ... dreamehome.0 info Speak on both voice and input - Alexa will speak.
-
Einstellung prüfen:
Unterdreamehome.0.settings.alexaSpeakMode
sollte der Wert auf
„On both voice and input commands“ stehen.
Nur dann werden Sprach- und Textbefehle verarbeitet. -
Zwei Browser-Tabs öffnen:
- Tab 1:
http://<dein-ioBroker>/#tab-objects
- Tab 2:
http://<dein-ioBroker>/#tab-logs
- Tab 1:
-
Testbefehl an Alexa geben:
Sag zu Alexa:
„Alexa, Wohnzimmer Turbo saugen“ -
Überprüfen:
- Im Objektbaum unter
alexa2.0.History.summary
sollte der gesprochene Text erscheinen:
„wohnzimmer turbo saugen“ - Gleichzeitig im Log schauen, ob der DreameHome-Adapter den Befehl verarbeitet oder zumindest eine Reaktion zeigt.
- Im Objektbaum unter
Wenn bei einem dieser Schritte etwas nicht passt, sag Bescheid – dann schauen wir uns den Teil genauer an.
-
-
Zu 1.
Im Log erscheinen die von dir gezeigten Meldungen.Zu 2.
Wert steht auf :
"On both voice and input commands"Zu 5.
Habe Alexa ein paar Befehle gesagt. Auch mit Licht An z.b.
Der Wert summary wurde nur 1 Mal am Anfang aktualisiert, egal was ich seitdem sage steht dort nicht.Habe den Alexa2 Adapter gelöscht und neu installiert und mich neu angemeldet. Keine Besserung.
Welche Version vom Alexa2 Adapter hast du installiert?
Grüße
-
@hahne Jetzt wissen wir, wo das Problem liegt: Der Alexa-Adapter aktualisiert die History nicht.
Ich verwende derzeit die Version 3.26.5 des Alexa2-Adapters.
Ich habe inzwischen die aktuelle Version des Alexa2-Adapters im ioBroker überprüft – es ist die Version 3.27.3, und es scheint, dass das Problem möglicherweise mit dieser neueren Version zusammenhängt.
Außerdem habe ich unter History-Aktualisierungsintervall den Wert auf 2 gesetzt, obwohl laut Dokumentation mindestens 60 erforderlich sind.
Zusätzlich habe ich unter Aktualisierungsintervall der Gerätekonfiguration den Wert auf 300 gesetzt, während du laut deinem Screenshot 3600 eingestellt hast.Wäre es möglich, dass du das mal mit der Version 3.26.5 des Alexa2-Adapters testest, um zu sehen, ob sich das Problem dadurch behebt?
-
@wawyo
Habe die version von dir Installiert, jedoch bleibt der Datenpunkt Summary bei mir leer.
Ich muss aber sagen das ich Alexa grade vom Handy aus Kommandos gebe, das dürfte aber kaum einen Unterschied machen,oder? -
@wawyo
bzgl. History und Sprachsteuerung
Nach dem löschen des Alexa2 Adapter Zugriffs auf der Amazone (link auf Git im Alexa2 Adapter) und neu einrichten, gehts bei mir nun.!
allerdings antwortet mir Alexa immer wieder "Es tut mir leid, ich kann...." und mitten im Satz wird sie unterbrochen und gibt mir die gewünschten Informationen aus (getestet "Roboter Filter Status")
Im Log bekomme ich allerdings einen Fehler:dreamehome.0 2025-07-30 23:15:23.482 warn Read-only state "alexa2.0.History.summary" has been written without ack-flag with value ""
Auch scheint in den OrdnerTitel was zu fehlen:
Screenshot 2025-07-30 232316.pngPS: Steuerung vom Handy-Alexa App geht nicht, bei den Echo Devices gibts das o.g. Bild