Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Vorbemerkung: Die neue Version der Firmware (ab 2021.01.0) hat eine andere API URL; http://IP-des-Staubsauerroboters/api/v2/ Daher wird weiter unten zwischen den Firmwareversionen unterschieden.

...

Als nächstes muss Valetudo auf dem Staubsaugerroboter installiert werden. Wie dies geht, findet Ihr hier: https://valetudo.cloud/pages/installation/roborock-ota.html bzw. https://valetudo.cloud/pages/installation/dreame.html. Nutzt am besten Dennis's Dustbuilder (siehe Anleitung) um euch den Buildprozess und das Erstellen der SSH-Keys zu ersparen. Nachdem die neue Firmware installiert ist, verbindet den Staubsaugerroboter mit eurem WLAN, so dass auch Loxone darauf zugreifen kann (siehe Anleitung letzter Absatz "Connect your robot to your Wifi").

...

Befehl

URL

HTTP Methode

Body

Header

Komplette Reinigung starten

http://ip-des-Staubsaugerroboters/api/start_cleaning

PUT



Reinigung einer oder mehrerer Zonen starten

http://ip-des-Staubsaugerroboters/api/start_cleaning_zones_by_id

PUT

Zonen-ID(s) z. B. [1] oder [1,2]

Abruf der Zone-IDs unter:

http://ip-des-Staubsaugerroboters/api/zones

Content-Type: application/json

Reinigung pausieren

http://ip-des-Staubsaugerroboters/api/pause_cleaning

PUT



Reinigung stoppen

http://ip-des-Staubsaugerroboters/api/stop_cleaning

PUT



Zur Ladestation fahren

http://ip-des-Staubsaugerroboters/api/drive_home

PUT



Zu bestimmter Position fahren

http://ip-des-Staubsaugerroboters/api/go_to

PUT

Koordinaten z. B. {"x":2539,"y":2474}

Abruf der Koordinaten der GoTo Locations unter:

http://ip-des-Staubsaugerroboters/api/spots

Content-Type: application/json

Auslesen der aktuellen Statuswerte

Die nachfolgenden Befehle können auch im Browser aufgerufen werden, um zu sehen, welche Variablen zur Verfügung stehen.

Befehl

URL

HTTP Methode

Allgemeiner Status (Aktiv, Ladezustand, usw.)

http://ip-des-Staubsaugerroboters/api/state

GET

Verbrauchsstatus (Wechselzeitpunkt Verbrauchsmaterialien, Reinigungsdauer, usw.) 

http://ip-des-Staubsaugerroboters/api/consumable_status

GET


Loxone Config

Eine Vorlage in der alle Befehle und alle Statuswerte eingebunden sind, kann hier heruntergeladen werden: Valetudo.Loxone

Anbei die drei Templates für den Virtuellen Ausgang

View file
nameVO_Staubsaugerroboter steuern.xml
für “Vordefinierte Geräte” (speichern unter C:\Users\-name-\Documents\Loxone\Loxone Config\Templates\VirtualOut) bzw. die beiden virtuellen Eingänge [
View file
nameVI_Staubsaugerroboter Status allgemein.xml
;
View file
nameVI_Staubsaugerroboter Status Verbrauchsmaterialien.xml
] für die “Vordefinierte HTTP-Geräte” (speichern unter C:\Users\-name-\Documents\Loxone\Loxone Config\Templates\VirtualIn). Vor dem Import der Vorlagen in der Loxone Config am besten gleich die IP-Adresse eures Staubsaugerroboters in den drei .xml-Dateien anpassen.

Zum Steuern des Staubsaugerroboters mit den oben genannten Befehlen, reicht ein Virtueller Ausgang mit untergeordneten Virtuellen Ausgangs Befehlen. Beim Einlesen der Statuswerte muss jeweils ein Virtueller HTTP Eingang für den allgemeinen Status und den Verbrauchsstatus angelegt werden. Darunter werden die Virtuellen HTTP Eingangs Befehlen zur Erkennung der einzelnen Variablen (Ladezustand, Reinigungsdauer usw.) hinzugefügt.

...

Die zugehörige Konfiguration sieht dann folgendermaßen aus:

...

  • Der Status (idle, cleaning, returning, ...) des Staubsaugerroboters wird nur als Text ausgegeben. Daher werden zur eindeutigen Erkennung die ersten 3 Buchstaben über die Statusbausteine "1.-3. Buchstabe Status" ermittelt und im Nachfolgenden Status-Baustein auf den aktuellen Status des Staubsaugerroboters gemappt. Dort fließen ebenfalls die Fehlercodes und eine Prüfung, ob der Staubsaugerroboter erreichbar ist (Ping-Baustein), mit ein.

  • Im Radiotasten-Baustein "Zu reinigende Zone" und dem nachgelagerten Status-Baustein, können die Zonen hinterlegt werden, die in der Weboberfläche angelegt wurden (Abruf der Zonen IDs unter http://ip-des-Staubsaugerroboters/api/zones).

  • Im  Virtuellen Ausgangsbefehl "Zur Wartungsposition fahren" kann im Feld "HTTP-Post-Befehl bei EIN" die Position ({"x":2539,"y":2474}) der Wartungsposition angegeben werden, die in der Weboberfläche angelegt wurde (Abruf der Koordinaten der GoTo Locations unter http://ip-des-Staubsaugerroboters/api/spots).

Valetudo Firmware ab 2021.01.0 [virtuelle Ausgangsbefehle sind getestet; virtuelle Eingänge manche noch nicht]

Steuern des Staubsaugerroboters

...

Befehl

URL / Befehl bei EIN

HTTP header bei EIN

HTTP body bei EIN

HTTP Methode bei EIN

Komplette Reinigung starten

/api/v2/robot/capabilities/BasicControlCapability

Content-Type: application/json

{ "action": "start" }

PUT

Reinigung eines oder mehrere Segments (Raum) starten

/api/v2/robot/capabilities/MapSegmentationCapability

Content-Type: application/json

{ "action": "start_segment_action", "segment_ids": ["<v>"], "iterations": 1}

<v> = Segment-ID(s) z. B. [1] oder [1], [2]

Abruf der Segment-IDs unter:

[Link unbekannt; in der Weboberfläche des Staubsaugers kann man unter “Map Options” → ”Segment Management” ein Segment anklicken, dann auf ´rename´ und so sehen, welche Nummer welchem Segment / Raum zugeordnet ist]

PUT

Reinigung pausieren

/api/v2/robot/capabilities/BasicControlCapability

Content-Type: application/json

{ "action": "pause" }

PUT

Reinigung stoppen

/api/v2/robot/capabilities/BasicControlCapability

Content-Type: application/json

{ "action": "stop" }

PUT

Zur Ladestation fahren

/api/v2/robot/capabilities/BasicControlCapability

Content-Type: application/json

{ "action": "home" }

PUT

Zu bestimmter Position fahren

/api/v2/robot/capabilities/GoToLocationCapability

Content-Type: application/json

Koordinaten z. B.: {"x":2539,"y":2474}

Abruf der Koordinaten der GoTo Locations unter:

[Link / Methode unbekannt]

PUT

Auslesen der aktuellen Statuswerte

...

Virtueller HTTP Eingang

URL

HTTP Methode

Allgemeiner Status (Aktiv, Ladezustand, usw.)

http://ip-des-Staubsaugerroboters/api/v2/robot/state

GET

Verbrauchsstatus (Wechselzeitpunkt Verbrauchsmaterialien, Reinigungsdauer, usw.) 

http://ip-des-Staubsaugerroboters/api/v2/robot/capabilities/ConsumableMonitoringCapability

GET

Staubsaugerroboter Statistik aktuell

http://ip-des-Staubsaugerroboters/api/v2/robot/capabilities/CurrentStatisticsCapability

Staubsaugerroboter Statistik insgesamt

http://ip-des-Staubsaugerroboters/api/v2/robot/capabilities/TotalStatisticsCapability

[die Befehlserkennungen ´Fehlercode´ des Roboters und ´Letzter Reinigungsvorgang am´ für die Befehlserkennungen in der “Virtuellen HTTP Eingängen” von Loxone fehlen noch]

Bei den “Virtuellen HTTP Eingang Befehl” ist (jedenfalls mir) die richtige “Befehlserkennung” noch nicht immer bekannt; um dies dann in Loxone auswerten zu können:

Bezeichnung

Befehlserkennung

Werteinterpretation mit Vorzeichen

Eingangswert 1 / Zielwert 1 / Eingangswert 2 / Zielwert 2

Einheit

HTTP Methode

Batterieladestatus

\iBatteryStateAttribute\i\ilevel\i\i:\i\v

Haken

0 / 0 / 100 / 100

<v> %

GET

Fehlercode

[VIRTUELLER HTTP EINGANG und BEFEHLSERKENNUNG UNBEKANNT]

GET

Status 1. Zeichen

\iStatusStateAttribute\i\ivalue":"\i\1

Status 2. Zeichen

\iStatusStateAttribute\i\ivalue":"\i\s1\1

Status 3. Zeichen

\iStatusStateAttribute\i\ivalue":"\i\s2\1

Reinigung Sensor in Stunden

\iConsumableStateAttribute\i\isensor\i\ivalue\i\i:\i\v

Wechsel Filter in Stunden

\iConsumableStateAttribute\i\ifilter\i\imain\i\ivalue\i\i:\i\v

Wechsel Hauptbürste in Stunden

\iConsumableStateAttribute\i\ibrush\i\imain\i\ivalue\i\i:\i\v

Wechsel Seitenbürste in Stunden

\iConsumableStateAttribute\i\ibrush\i\iside_right\i\ivalue\i\i:\i\v

Letzter Reinigungsvorgang am

[UNBEKANNT]

Dauer letzter Reinigungsvorgang

\iValetudoDataPoint\i\itime\i\ivalue\i\i:\i\v

Fläche letzter Reinigungsvorgang

\iValetudoDataPoint\i\iarea\i\ivalue\i\i:\i\v

Anzahl Reinigungsvorgänge gesamt

\iValetudoDataPoint\i\itime\i\icount\i\i:\i\v

Gereinigte Fläche gesamt

\iValetudoDataPoint\i\itime\i\iarea\i\i:\i\v

Reinigungsdauer gesamt in Stunden

\iValetudoDataPoint\i\itime\i\ivalue\i\i:\i\v

...

  • Der Status (idle, cleaning, returning, ...) des Staubsaugerroboters wird nur als Text ausgegeben. Daher werden zur eindeutigen Erkennung die ersten 3 Buchstaben über die Statusbausteine "1.-3. Buchstabe Status" ermittelt und im Nachfolgenden Status-Baustein auf den aktuellen Status des Staubsaugerroboters gemappt. Dort fließen ebenfalls die Fehlercodes und eine Prüfung, ob der Staubsaugerroboter erreichbar ist (Ping-Baustein), mit ein.

  • Im Radiotasten-Baustein "Zu reinigende Zone" und dem nachgelagerten Status-Baustein, können die Zonen hinterlegt werden, die in der Weboberfläche angelegt wurden.

  • Im  Virtuellen Ausgangsbefehl "Zur Wartungsposition fahren" kann im Feld "HTTP-Post-Befehl bei EIN" die Position ({"x":2539,"y":2474}) der Wartungsposition angegeben werden, die in der Weboberfläche angelegt wurde.

Verwandte Artikel

Verwandte Artikel erscheinen hier basierend auf den Stichwörtern, die Sie auswählen. Klicken Sie, um das Makro zu bearbeiten und Stichwörter hinzuzufügen oder zu ändern.

Nach Stichwort filtern (Inhalt nach Stichwort)
showLabelsfalse
max5
spaces~adrianmuehle
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ( "xiaomi" , "s5x" , "s51" , "s55" , "s50" , "mi" , "roborock" ) and type = "page" and space = "~adrianmuehle"
labelsXiaomi Roborock S5X S50 S51 S55 Mi

...