Vorbemerkung: Die neue Version der Firmware (ab 2021.01.0) hat eine andere API URL; http://IP-des-Staubsauerroboters/api/v2/; die unten stehenden URLs und auch die virtuellen Ein- und Ausgänge funktionieren damit alle nicht. Die Valetudo Rest API der neuen Firmware werden unter http://IP-des-Staubsauerroboters/swagger/#/ gelistet.
...
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 | ||
---|---|---|
|
View file | ||
---|---|---|
|
View file | ||
---|---|---|
|
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
[die Links sollten stimmen, allerdings müsste bitte jemand, der sich besser auskennt, die richtigen Befehlserkennungen in der “Virtuellen HTTP Eingängen” von Loxone angeben ]
Unter “Virtuelle Eingänge” → 4x “Virtueller HTTP Eingang (z. B. genannt ´Staubsaugerroboter Status allgemein´ und ´Staubsaugerroboter Status Verbrauchsmaterialien´)” können verschiedene “Virtueller HTTP Eingang Befehl”e angelegt werden.
...
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/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 (Abruf der Zonen IDs unter http://ip-des-Staubsaugerroboters/api/v2/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/v2/spots).
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) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...