NEWS
Test DreameHome: 3D-Visualisierung und Alexa-Steuerung
-
Aktuelle Test Version 0.1.5 Veröffentlichungsdatum 18.5.2025 Github Link https://github.com/spayrosam/ioBroker.dreamehome Tests:
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.
!
Adapter-Beschreibung für Alexa-gesteuerte Reinigung
Überblick:
Dieser Adapter ermöglicht es dir, deinen Dreame-Roboterstaubsauger über Alexa-Sprachbefehle zu steuern. Mit dieser Integration kannst du Räume anpassen und verschiedene Reinigungsmodi aktivieren, ganz bequem durch Sprachbefehle. Der Adapter ist flexibel und lässt sich einfach konfigurieren, sodass du deine Reinigung basierend auf deinem Bedarf und Raumlayout anpassen kannst.
Voraussetzungen:
- Alexa-Adapter muss installiert und korrekt konfiguriert sein.
- Canvas is required
Canvas is required for generating the map. Without it, the adapter will terminate with an error.
- Check if canvas is installed using the following command:
cd /opt/iobroker/ npm list canvas
- If canvas is not installed, run the following command to install it:
cd /opt/iobroker/ npm install canvas
- Then, check again by running the first command to ensure that canvas is properly installed.
Wichtige Funktionen:
1. Sprachsteuerung: Steuere deinen Roboterstaubsauger über Alexa-Sprachbefehle:
- "Staubsauge das Wohnzimmer" – Staubsaugen im Wohnzimmer.
- "Wische die Küche" – Wischen in der Küche.
- "Staubsaugen und Wischen im Schlafzimmer" – Beide Funktionen nacheinander im Schlafzimmer.
- "Wischen nach dem Saugen im Flur" – Zuerst Saugen, dann Wischen im Flur.
2. Automatische Moduswahl: Der Adapter erkennt automatisch, welcher Reinigungsmodus verwendet werden soll:
- Staubsaugen (Modus 5122): Wird aktiviert, wenn nur „Staubsaugen“ erwähnt wird.
- Wischen (Modus 5121): Wird aktiviert, wenn nur „Wischen“ erwähnt wird.
- Staubsaugen und Wischen (Modus 5120): Wird aktiviert, wenn beide Funktionen in einem Befehl genannt werden.
- Wischen nach Saugen (Modus 5123): Wird aktiviert, wenn „Wischen nach Saugen“ gesagt wird.
3. Raumspezifische Befehle: Du kannst die Reinigung für einzelne Räume anpassen:
- „Reinige das Wohnzimmer“ – Reinigung nur im Wohnzimmer.
- „Reinige das Wohnzimmer und die Küche“ – Reinigung in mehreren Räumen mit einheitlichem Modus.
4. Reinigung wiederholen: Der Adapter erkennt auch Wiederholungen. Zum Beispiel, wenn du sagst: „Reinige das Badezimmer drei Mal“, wird der Roboter diese Reinigung drei Mal ausführen.
5. Unterstützung für verschiedene Sprachen: Der Adapter funktioniert sowohl auf Deutsch als auch auf Englisch, sodass du ihn in der Sprache deiner Wahl verwenden kannst.
Beispiel Sprachbefehle:
- „Staubsauge das Wohnzimmer“ – Der Roboter startet das Saugen im Wohnzimmer.
- „Wische die Küche“ – Der Roboter beginnt mit dem Wischen in der Küche.
- „Staubsaugen und Wischen im Schlafzimmer“ – Der Roboter saugt und wischt im Schlafzimmer.
- „Wischen nach dem Saugen im Flur“ – Der Roboter saugt und wischt im Flur.
Wichtige Hinweise:
- Reinigung beenden: Der Befehl „Stoppe die Reinigung“ kann jederzeit verwendet werden, um die laufende Reinigung zu stoppen.
- Standardmodus: Wenn der Reinigungsmodus nicht explizit erwähnt wird, verwendet der Roboter standardmäßig den Staubsaugen und Wischen Modus (Modus 5120).
- Funktioniert nur mit Alexa-Adapter: Dieser Adapter funktioniert nur, wenn der Alexa-Adapter korrekt eingerichtet ist.
Bekannte Probleme:
Bevor du ein Problem meldest, schaue bitte zuerst auf GitHub Issues. Es gibt bekannt, dass einige Dreame-Roboter eine andere Struktur in der Map-Datei haben.
Fazit:
Dieser Adapter macht die Reinigung deines Zuhauses unglaublich einfach. Du kannst mit einfachen Sprachbefehlen genau steuern, was der Roboter tut, und das für mehrere Räume gleichzeitig. Mit der Unterstützung von Alexa wird die Hausarbeit effizienter und komfortabler!
Cancel Keywords = "reinigung abbrechen", "cancel cleaning", "reinigung stoppen", "stop cleaning", "roboter aus", "robot off", "pause cleaning", "pause reinigung", "reinigung bitte abbrechen", "please cancel cleaning", "stop reinigung"
Cleaning Modes Keywords = "Customize room cleaning", "Sweeping and mopping", "Mopping", "Sweeping", "Mopping after sweeping", "Raumreinigung anpassen", "Saugen und Wischen", "Wischen", "Staubsaugen", "Wischen nach dem Saugen"
Suction Levels Keywords = "light", "medium", "strong", "maximum", "leicht", "mittel", "stark", "maximal"
Mopping Levels Keywords = "dry", "half-wet", "wet", "trocken", "halbnass", "nass"
Repeats Keywords = 1, 2, 3
Beispiel Sprachbefehl:
„Reinigung abbrechen, bitte die Küche 2 mal maximal saugen und den Flur nass wischen mit starkem Saugen.“
Was passiert, wenn du diesen Befehl sagst?
-
Reinigung abbrechen: Der Adapter erkennt das Kommando zum Abbrechen der aktuellen Reinigung und stoppt sofort alle laufenden Reinigungsprozesse.
-
Küche 2 Mal maximal saugen: Der Adapter erkennt die Anweisung „Küche“ und setzt den Reinigungsmodus auf Maximale Saugleistung (entsprechend dem höchsten Wert in den verfügbaren Saugleistungsstufen) und stellt die Wiederholungen auf 2 Mal ein.
-
Flur nass wischen mit starkem Saugen: Der Adapter erkennt den „Flur“ und stellt den Reinigungsmodus auf Nasswischen mit starkem Saugen (falls verfügbar). Das bedeutet, dass der Roboter mit starker Saugleistung saugt und nass wischt.
Zusammenfassung des Modus:
- Küche: Saugen auf höchster Stufe, 2 Wiederholungen.
- Flur: Saugen auf starker Stufe und nass wischen.
Dieser Sprachbefehl ist perfekt, wenn du mehrere Räume mit unterschiedlichen Reinigungsanforderungen behandeln möchtest und gleichzeitig eine laufende Reinigung abbrechen musst
-
Changelog
Version 0.9.0 (2025-03-21)
New Features:
-
Alexa Command Recognition: The system now recognizes various cleaning commands and supports multiple languages (English and German). It processes different cleaning modes, room names, and suction/mopping levels.
- Example Alexa command (English): "Alexa, vacuum the living room twice on high."
Beispiel Alexa-Befehl (Deutsch): "Alexa, sauge das Wohnzimmer zweimal auf hoch."
- Example Alexa command (English): "Alexa, vacuum the living room twice on high."
-
Room Recognition: The system identifies specific rooms in a command and applies the requested cleaning mode. It can handle multiple rooms in a single command.
- Example Alexa command (English): "Alexa, clean the kitchen and the bathroom."
Beispiel Alexa-Befehl (Deutsch): "Alexa, reinige die Küche und das Badezimmer."
- Example Alexa command (English): "Alexa, clean the kitchen and the bathroom."
-
Cleaning Modes: New cleaning modes are available based on the provided
AlexacleanModes
, such as Vacuum (5122), Mopping (5121), and Mop after Vacuum (5123).- Example Alexa command (English): "Alexa, mop after vacuuming the bathroom."
Beispiel Alexa-Befehl (Deutsch): "Alexa, wische nach dem Saugen im Badezimmer."
- Example Alexa command (English): "Alexa, mop after vacuuming the bathroom."
-
Suction and Mopping Levels: The system now recognizes different suction and mopping levels based on the provided levels and synonyms, allowing detailed cleaning requests.
- Example Alexa command (English): "Alexa, vacuum the living room on strong and mop it on wet."
Beispiel Alexa-Befehl (Deutsch): "Alexa, sauge das Wohnzimmer auf stark und wische es nass."
- Example Alexa command (English): "Alexa, vacuum the living room on strong and mop it on wet."
-
Cancellation of Cleaning: The system recognizes cancellation commands from the
AlexacancelKeywords
list and allows users to stop ongoing cleaning sessions.- Example Alexa command (English): "Alexa, cancel cleaning."
Beispiel Alexa-Befehl (Deutsch): "Alexa, abbreche die Reinigung."
- Example Alexa command (English): "Alexa, cancel cleaning."
Improvements:
-
Room-Specific Cleaning: Commands can now be given for specific rooms, and the robot will clean accordingly. If no room is specified, it will prompt the user to clarify.
- Example Alexa command (English): "Alexa, clean the living room."
Beispiel Alexa-Befehl (Deutsch): "Alexa, reinige das Wohnzimmer." - Response (English): "Please specify the cleaning mode for the living room."
Antwort (Deutsch): "Bitte gib den Reinigungsmodus für das Wohnzimmer an."
- Example Alexa command (English): "Alexa, clean the living room."
-
Error Handling: The system now handles missing cleaning mode, suction level, or water level in commands by prompting for the missing information.
- Example response (English): "Please specify the cleaning mode for the kitchen. You forgot to define the clean mode, suction level, or water level."
Beispielantwort (Deutsch): "Bitte gib den Reinigungsmodus für die Küche an. Du hast den Reinigungsmodus, das Sauglevel oder den Wasserlevel vergessen zu definieren."
- Example response (English): "Please specify the cleaning mode for the kitchen. You forgot to define the clean mode, suction level, or water level."
Bug Fixes:
- Command Ambiguity: Fixed an issue where commands for multiple rooms were misinterpreted or ignored when no cleaning mode was specified.
- Example Alexa command (English): "Alexa, clean the kitchen and the bathroom without specifying the mode."
Beispiel Alexa-Befehl (Deutsch): "Alexa, reinige die Küche und das Badezimmer, ohne den Modus anzugeben." - Response (English): "Please specify the cleaning mode for the kitchen and the bathroom."
Antwort (Deutsch): "Bitte gib den Reinigungsmodus für die Küche und das Badezimmer an."
- Example Alexa command (English): "Alexa, clean the kitchen and the bathroom without specifying the mode."
Other Changes:
- Enhanced Voice Feedback: The system now provides more detailed and helpful feedback via Alexa, especially when a command is incomplete or unclear.
- Example feedback (English): "Cleaning mode: 5122 (Sweeping), Rooms: Living Room, Kitchen."
Beispielfeedback (Deutsch): "Reinigungsmodus: 5122 (Staubsaugen), Räume: Wohnzimmer, Küche."
- Example feedback (English): "Cleaning mode: 5122 (Sweeping), Rooms: Living Room, Kitchen."
-
-
Version 0.1.0
Release-Datum: 30.03.2025Neuigkeiten:
-
Erweiterte Flexibilität bei der Reinigungssteuerung:
Der Adapter ermöglicht es jetzt, für jedes Zimmer individuell festzulegen, ob der Dreame-Saugroboter nur saugt, wischt oder eine Kombination aus beiden ausführt. Dies geht über die standardmäßigen Einschränkungen des Dreame-Roboters hinaus, der normalerweise nur einen Reinigungsmodus für alle Räume akzeptiert. -
Unterstützung für alternative Zimmer- und Reinigungsbezeichner:
Die Zimmernamen und Reinigungsarten sind jetzt flexibler. Begriffe wie "Wohnzimmer wischen nass" oder "Stube wischen intensiv" werden automatisch als gleichwertig behandelt, sodass du verschiedene Begriffe verwenden kannst, um den gleichen Reinigungsmodus zu aktivieren. -
Automatische Zuordnung von Räumen und Befehlen:
Der Adapter übersetzt alternative Bezeichner für Räume (z. B. "Wohnzimmer", "Stube", "salon") in die akzeptierten Standardbezeichner, was eine nahtlose und benutzerfreundliche Steuerung ermöglicht. Ebenso werden verschiedene Formulierungen für das Saugen oder Wischen (z. B. "staubsaugen" oder "sweeping") korrekt erkannt und dem richtigen Reinigungsmodus zugeordnet.
Beispiele für neue Befehle:
- "Wohnzimmer wischen Nass" = "Stube wischen Intensiv"
- "Schlafzimmer staubsaugen Kraftvoll" = "Hauptschlafzimmer saugen Intensiv" = "masterzimmer saugen Stark"
- "Küche saugen und wischen Nass und Ultra" = "Kochnische saugen und wischen Durchnässt und Voll"
Verbesserungen:
-
Vermeidung von doppelten oder widersprüchlichen Befehlen:
Das System prüft automatisch, ob für ein und dasselbe Zimmer widersprüchliche Reinigungsmodi oder wiederholte Befehle innerhalb eines kurzen Zeitraums gesendet wurden, um unerwünschte Doppelaktionen zu vermeiden. -
Bessere Steuerung bei aktiven Reinigungsprozessen:
Sollte ein Reinigungsprozess bereits laufen, erkennt der Adapter dies und fragt den Benutzer, ob der laufende Prozess gestoppt und ein neuer gestartet werden soll. Dies sorgt für eine flüssige Benutzererfahrung und verhindert gleichzeitige Reinigungsvorgänge.
Szenario 1: Mehrere Räume mit gemischten Modi und Wiederholungen
-
Befehl: „Wohnzimmer saugen hoch und Küche saugen mittel und Küche wischen niedrig 2 mal“
-
Erklärung:
- „Wohnzimmer saugen hoch“: Der Roboter startet im Wohnzimmer mit dem Saugmodus auf hoher Stufe.
- „Küche saugen mittel“: In der Küche wird der Saugmodus auf mittlerer Stufe eingestellt.
- „Küche wischen niedrig 2 mal“: In der Küche wird der Wischmodus auf niedriger Stufe eingestellt, und der Wischvorgang wird zweimal wiederholt.
Aktion: Der Roboter wird zuerst das Wohnzimmer reinigen (Saugen hoch), dann die Küche (Saugen mittel), und danach den Wischmodus auf niedrig in der Küche zweimal ausführen.
Szenario 2: Zwei Räume mit einem Modus (nur Saugen oder Wischen)
-
Befehl: „Flur saugen hoch und Bad wischen intensiv“
-
Erklärung:
- „Flur saugen hoch“: Der Roboter wird im Flur mit dem höchsten Saugmodus arbeiten.
- „Bad wischen intensiv“: Das Bad wird mit dem höchsten Wischmodus (Intensiv) gewischt.
Aktion: Der Roboter startet mit dem Saugen im Flur auf hoher Stufe und geht danach ins Bad, um dort intensiv zu wischen.
Szenario 3: Benutzerabbruch bei fehlenden Modi
-
Befehl: „Wohnzimmer saugen und Küche wischen“
-
Erklärung:
- Der Befehl fehlt für das „Saugen“ im Küchenbereich, was eine unvollständige Anweisung darstellt.
Aktion: Da in der Küche der Saugmodus nicht angegeben wurde und eine Lücke im Befehl erkannt wird, fordert Alexa den Benutzer auf, den fehlenden Modus zu korrigieren.
Antwort von Alexa: „Für folgende Räume fehlen Angaben: Wohnzimmer: Sauglevel und Küche: Wischlevel. Bitte definiere die fehlenden Werte.“
Szenario 4: Unterschiedliche Reinigungsmodi mit Raum- und Modus-Synonymen
-
Befehl: „Stube saugen intensiv und Küche wischen nach saugen niedrig und kraftvoll und Bad wischen intensiv“
-
Erklärung:
- Der Benutzer verwendet das Synonym „Stube“ anstelle von „Wohnzimmer“. Da Dreamehome diese Flexibilität unterstützt, wird „Stube“ als „Wohnzimmer“ erkannt und der Modus „Saugen intensiv“ wird zugeordnet.
- Die Küche wird mit „Saugen niedrig danach Wischen stark“ und das Bad mit „Wischen intensiv“ gereinigt.
Aktion: Der Roboter wird die folgenden Schritte ausführen:
- Stube (Wohnzimmer) saugen intensiv
- Küche wischen niedrig nach saugen stark
- Bad wischen intensiv
Szenario 5: Wiederholte Reinigung eines Raumes
-
Befehl: „Wohnzimmer saugen hoch 3 mal und Bad wischen intensiv 2 mal“
-
Erklärung:
- Der Roboter soll das Wohnzimmer dreimal mit dem Saugmodus „hoch“ und das Bad zweimal mit dem Wischmodus „intensiv“ reinigen.
Aktion: Der Roboter startet die Reinigung im Wohnzimmer mit hohem Saugmodus und wiederholt den Vorgang dreimal. Danach geht er ins Bad, um zweimal mit dem intensiven Wischmodus zu reinigen.
Szenario 6: Beenden der Reinigung, wenn ein Abbruchbefehl gegeben wird
-
Befehl: „"reinigung abbrechen", "reinigung stoppen", "stop reinigung", "roboter aus", "reinigung bitte abbrechen", "reinigung beenden", "reinigung unterbrechen", "reinigung anhalten", "saugvorgang stoppen", "staubsauger aus", "roboter abschalten", "staubsaugen beenden", "putzen stoppen", "staubsaugen stoppen", "staubsaugen deaktivieren", "bodenreinigung stoppen", "staubsauger ausschalten", "sauger aus", "roboter deaktivieren", "dreame stoppen", "dreame aus", "dreame reinigen beenden"“
-
Erklärung:
- Ein Benutzer kann jederzeit den Befehl „Stopp Reinigung“ geben, um den laufenden Vorgang zu beenden.
Aktion: Wenn der Befehl zum Stoppen der Reinigung kommt, wird der Roboter sofort gestoppt und zur Ladestation zurückgeschickt. Falls der Roboter gerade aktiv reinigt, wird der Vorgang abgebrochen.
Antwort von Alexa: „Die Reinigung wurde gestoppt und der Roboter fährt zur Ladestation.“
-
-
DANKE dass du an einem Adapter für ioBroker arbeitest.
Bitte ergänze deinen Adapter um die standardmäßig vom adapter creator auch angelegten Github based tests aus. Minimales Testing sollten auch Dapetr haben die (zunächst) nur via Github zum Testen angeboten werden.
Beim ersten Blick in dein repo fällt auf:
- github based tests (workflow test-and-release) fehlt
- README Changelog bitte in die übliche Form bringen (schau bei anderen Adaptern rein) damit das Release Scritp dir die Arbeit des erstellens einer sauberen Release abnehmen kann
Wenn der Adapter für User testbar / verwendbar ist, veranlass dann bitte ein Review und eine Aufnehme in die Repositories.
-
Update 0.1.2 (06.04.2025)
Neue Funktionen und Verbesserungen:
-
Komponentensteuerung und Statusmeldungen:
-Unterstützung für die Steuerung und Statusprüfung der folgenden Komponenten hinzugefügt:- Hauptbürste, Seitenbürste, Filter, Wischbezug, Silberionen, Reinigungsmittel, Reinwassertank, Schmutzwassertank
-
Rücksetzen einzelner oder aller Komponenten möglich.
-
Statusberichte für Komponenten wie verbleibende Zeit (z. B. verbleibende Wischpad-Zeit, verbleibende Hauptbürsten-Zeit)
-
Flexible Befehlserkennung:
-
Befehle wie Entleeren (Leeren, Automatisches Entleeren, Behälter reinigen usw.) und Wischmoppreinigung (Waschen, Automatisches Waschen, Wischmopp reinigen usw.) werden jetzt erkannt und lösen die entsprechenden Aktionen aus.
-
Unterstützung für das Zurücksetzen einzelner oder aller Komponenten mit Befehlen wie „Hauptbürste zurücksetzen“, „Alle zurücksetzen“ usw.
-
Komponentenspezifische Statusabfragen über flexible Synonyme wie „Hauptbürstenstatus prüfen“ oder „Wischpad prüfen“.
-
-
Verbesserte Befehlsflexibilität:
-
Dynamische Befehlsanalyse: Der Befehlsparser erkennt jetzt verschiedene Synonyme für Roboterbefehle (Roboter, Staubsauger, Dreame usw.), Entleeren (Leeren, automatisches Entleeren usw.), Waschen (Waschen, Wischmoppreinigung usw.) und Zurücksetzen von Komponenten (Hauptbürste zurücksetzen, Alles zurücksetzen usw.).
-
Sprachspezifische Synonyme: Befehle werden dynamisch basierend auf der Sprache (EN/DE) zugeordnet, wodurch eine präzise Erkennung unabhängig von der Formulierung gewährleistet wird.
-
Example Scenarios (Voice Commands)
To make your voice command work, always say a word like 'robot', 'dreame', 'vacuum', 'vacuum cleaner'
Scenario 1: General Status Check
"Alexa, check robot status."
The system will provide a complete status report of your Dreame robot, including:
- Battery level
- Current room (if cleaning)
- Status and remaining life of components like the mop pad, main brush, side brush, filter, water tanks, detergent, silver ion unit, and sensors
Scenario 2: Clean the Mop
"Alexa, clean the mop."
The robot will return to the station and start the mop cleaning process. This ensures that the mop pad is rinsed and ready for further cleaning.
Scenario 3: Reset a Single Component
"Alexa, reset filter."
The system detects that you're referring to the filter and resets its usage timer. This is useful after you've cleaned or replaced it.
Scenario 4: Empty the Dustbin
"Alexa, empty the dustbin."
The robot will go to the station and start the auto-empty process, removing dust and debris from the bin automatically.
Scenario 5: Reset All Components
"Alexa, reset all components."
This command will reset the usage time of all components (brushes, filter, mop pad, detergent, silver ion, sensors, etc.) at once נperfect after a full service or replacement.
Beispiel-Szenarien (Sprachbefehle)
Damit dein Sprachbefehl funktioniert, sag immer ein Wort wie 'roboter', 'dreame', 'staubsauger', 'saugroboter'
Szenario 1: Allgemeiner Statusbericht
„Alexa, Roboterstatus prüfen.“
Das System gibt einen vollständigen Statusbericht deines Dreame Saugroboters aus, inklusive:
- Batteriestand
- Aktueller Raum (falls Reinigung läuft)
- Zustand und verbleibende Lebensdauer aller Komponenten wie Mopp-Pad, Hauptbürste, Seitenbürste, Filter, Wassertanks, Reinigungsmittel, Silberioneneinheit und Sensoren
Szenario 2: Mopp reinigen
„Alexa, Roboter Mopp reinigen.“
Der Roboter kehrt zur Station zurück und startet die Mopp-Reinigung. Das Mopp-Pad wird dabei gespült und für die nächste Reinigung vorbereitet.
Szenario 3: Einzelne Komponente zurücksetzen
„Alexa, Roboter Filter zurücksetzen.“
Das System erkennt, dass du den Filter meinst, und setzt die Nutzungsanzeige zurück – ideal nach einer Reinigung oder einem Austausch.
Szenario 4: Staubbehälter entleeren
„Alexa, Roboter Staubbehälter leeren.“
Der Roboter fährt zur Station und startet den Auto-Entleerungsvorgang. Der Staubbehälter wird automatisch geleert.
Szenario 5: Alle Komponenten zurücksetzen
„Alexa, Roboter alle komponenten zurücksetzen.“
Mit diesem Befehl setzt das System die Nutzungszeit aller Komponenten (Bürsten, Filter, Mopp-Pad, Reinigungsmittel, Silberionen, Sensoren usw.) gleichzeitig zurück – ideal nach einer Wartung oder einem Kompletttausch.
-
-
Ich habe auf das Feedback der Closed-Beta-Tester reagiert und wichtige Probleme behoben.
-
Die Reinigung startet jetzt wie gewünscht per Alexa-Sprachbefehl. Befehle wie "saugen", "wischen" oder "moppen" funktionieren nun zuverlässig – auch für bestimmte Räume oder mit unterschiedlichen Reinigungsmodi in verschiedenen Räumen.
-
Das Zurücksetzen der Komponenten per Sprachbefehl funktioniert jetzt ebenfalls. Alle Komponenten wie Filter, Bürsten, Sensoren usw. lassen sich per Alexa zurücksetzen. Alexa gibt dabei eine klare Rückmeldung, ob etwas zurückgesetzt wurde oder ob ein Reset nötig ist.
Danach habe ich mich mit der gesamten Steuerlogik beschäftigt. Auch hier funktioniert jetzt alles wie gewünscht
– inklusive Sprachrückmeldungen von Alexa.Jetzt habe ich mit der Entwicklung einer komplett neuen interaktiven Karte für Dreamehome begonnen. Sie wird unabhängig von der Originalkarte sein und bietet deutlich mehr Funktionen:
– Anzeige aller Räume, Teppiche und virtuellen Grenzen
– Darstellung des Reinigungspfads in Echtzeit
– Steuerung direkt über Buttons und Slider auf der Karte
– Animationen und Effekte für aktive Räume
– Volle Kontrolle, nicht nur AnzeigeDer Code ist noch nicht veröffentlicht, aber ich arbeite daran.
Ein kurzes Video zur Vorschau – damit ihr sehen könnt, wie weit ich schon bin. Es ist jetzt schon deutlich weiter als die originale Kartenfunktion.
https://youtube.com/shorts/eH6rYprOAOA
Dreamehome Map – Neue Karte in Arbeit
Noch nicht veröffentlicht – aber schon viel weiter als die Original-Version. -
-
0.1.4 ist Online
interaktive KarteHauptfunktionen:
-
Datenvorbereitung:
- Lädt die Roboter-Positionshistorie
- Ermittelt den Adapter-Pfad für die Zustandsspeicherung
- Verarbeitet die Positionsdaten in ein geeignetes Format
-
Kartenerstellung:
- Erstellt ein HTML-Dokument
- Zeichnet die Karte basierend auf den Roboter-Kartendaten (Räume, Wände, Türen, Ladestation)
- Implementiert eine 3D-ansicht mit Rotations- und Zoomfunktionen
-
Interaktive Features:
- Echtzeit-Positionsverfolgung des Roboters
- Auswahl von Räumen und Teppichen durch Klick (Die Auswahl funktioniert bereits, der Befehl zur Reinigung wird in der nächsten Version verfügbar sein).
- Anzeige von Reinigungsfortschritt und Raumdaten
- Spektakuläre Animationsmodi ("Map Spectacle")
- Statusanimationen für die Ladestation
-
Benutzeroberfläche:
- Modernes Menüsystem mit Animationen
- Einstellungen für Kartenrotation, Perspektive und Zoom
- Anzeige von Roboterstatus und Reinigungsdaten
Technische Details:
- Die Karte wird als HTML-Canvas mit SVG-Elementen gerendert
- Verwendet WebSocket für Echtzeit-Updates der Roboterposition
- Implementiert eine ausgeklügelte 3D-Transformation mit CSS
Datenfluss:
- Roboterpositionsdaten werden vom Adapter abgerufen
- Die Karte wird skaliert und transformiert, um in den Canvas zu passen
- Interaktionen werden über Farbcodierung und Klickerkennung verarbeitet
- Statusupdates werden über WebSocket empfangen und visualisiert
Besondere Highlights:
- Die Ladestation zeigt unterschiedliche Animationen für verschiedene Status (Laden, Fehler, Reinigen etc. | 23 Animationen)
- Räume ändern Farbe basierend auf Reinigungsfortschritt
- Die "Map Spectacle"-Animation erzeugt dramatische Kamerafahrten um die Karte
- Das Menüsystem hat automatisches Timeout
Diese Methode erstellt im Wesentlichen eine komplette, interaktive Visualisierung der Roboterumgebung mit vielen Details und Animationen, die in Echtzeit auf Roboterstatusänderungen reagiert.
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. -
-
Bald
Main Menu
Clean Menu
Settings menu
Map
-
„You go!“
Unter GitHub ist noch kein Update – und das hat seinen Grund.Was schon funktioniert? Lasst euch überraschen!
Genau deshalb habe ich es noch nicht hochgeladen.Manches muss reifen, manches soll wirken – und manches verdient einfach einen großen Auftritt.
Bleibt dran!
️ Download main.js
Gefixt wird nur, was kommuniziert wird.
Edit!
Zur Performance und zum Ressourcenverbrauch:
Mich interessiert vor allem der Ressourcenverbrauch, da in der Grafik viele Manipulationen stattfinden. Ich habe daher fast alles entfernt, was unnötig Leistung zieht.Unter VIS läuft es bei mir sehr flüssig, und auch im ioBroker liegt die Speicherauslastung während der „Reinigung“ bei maximal 128 MB.
Ich kann aber nur für mein Setup sprechen:
Ich nutze einen Raspberry Pi 5 mit 16 GB RAM, und das angebundene Tablet ist von mittlerer Qualität.Die Performance kann je nach System natürlich unterschiedlich ausfallen.
-
V 0.1.5 Online
Neue Funktionen
Dynamische VIS-Objekte & Kartenerstellung
Integration dynamischer Visualisierungsobjekte für eine flexible und anpassbare Anzeige.Aktions-Dropdown-Menü
Neue Steuerungsoptionen verfügbar: Pause, Reinigen, Laden, Stopp.Allgemeines Reinigungsmenü (derzeit deaktiviert)
Vorbereitete Funktion zur Einleitung einer Komplettreinigung über ein zentrales Steuerungsmenü.Neue Funktions-Buttons in der Kartenansicht
Hinzugefügte Aktionen: Tastensperre, Roboter entleeren, Mopp waschen, Start, Pause, Reinigen, Laden, Auswahl reinigen.Ein- und ausblendbare Reinigungs- & Verlaufspfade
Aktueller Reinigungsverlauf und Historie können individuell ein- oder ausgeblendet werden.Radialmenü pro Raum
Jeder Raum verfügt nun über ein eigenes Radialmenü zur individuellen Konfiguration: Saugkraft, Wasserstand, Wiederholen, Reinigungsmodus, Route.Animierte Symbole für aktive Reinigung
Räume, die aktuell gereinigt werden, werden mit animierten Symbolen hervorgehoben.Realistische Robotersymbole
Standardsymbole wurden durch detaillierte und realistische Roboterdarstellungen ersetzt.
Verbesserungen
Effizienterer Code
Optimierte Algorithmen reduzieren den Speicher- und CPU-Verbrauch erheblich.Speichern & Wiederherstellen der 3D-Kartenrotation
Aktuelle Kameraposition, -rotation sowie ausgewählte Räume und Teppiche werden gespeichert und nach einem Neustart des Adapters oder Neuladen der Seite korrekt wiederhergestellt.Verbesserter Reinigungsstatus
- Probleme beim Laden des Reinigungsstatus wurden behoben, sodass die Historie nun korrekt mit Daten gefüllt wird.
- Der Fortschritt laufender Reinigungsaufträge wird jetzt korrekt und in Echtzeit angezeigt.
Neue Logik zum Starten der Reinigung
Es gibt jetzt drei Möglichkeiten, eine Reinigung zu starten:
-
Komplettreinigung per Kartenklick
Auf Reinigen in der Karte klicken: Allgemeine Reinigungseinstellungen aus der App werden übernommen und die Reinigung startet sofort. -
Gezielte Raumreinigung
- Einzelne Räume per Klick auswählen (blinken grün).
- Dann Auswahl reinigen drücken – nur die ausgewählten Räume werden gereinigt.
- Raumspezifische Einstellungen (Saugkraft, Wasserstand, Wiederholen, Reinigungsmodus, Route) können über das Zahnrad-Symbol im jeweiligen Raumlabel angepasst werden.
-
Auswahl reinigen ohne Auswahl
Wird Auswahl reinigen gedrückt, ohne zuvor Räume ausgewählt zu haben, werden alle Räume gemäß der individuellen Einstellungen in den Raumlabels gereinigt.
Viel Spaß
Exzellenz erkennt man leise. -
Ich setze noch eine drauf – läuft.
Der Farbwert eines Elements wird basierend auf einem Prozentwert (0-100%) in der HSL-Skala berechnet, wobei der Farbton von rot (0°) bis blau (240°) reicht.